您的位置:首页 > 其它

wso2——(11)esb 服务 API调用

2015-03-04 16:11 246 查看
这篇文章介绍如何通过API调用部署在WSO2 ESB上的服务。
下面以WSO2 自带服务echo为例进行介绍。
1、生成客户端
点击echo服务名称,出现如下界面。



点击“Generate Axis2 Client”,出现如下界面。



点击“Generate”,生成一个zip文件。
2、生成客户端代码。
解压zip文件,导入Eclipse,或者直接在pox.xml文件目录下输入mvn clean install。生成客户端java代码。
3、客户端认证调用
编写程序调用服务
package com;

import java.io.File;

import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.axis2.transport.http.HttpTransportProperties;
import org.wso2.carbon.core.services.echo.EchoStub;
import org.wso2.carbon.core.services.echo.EchoStub.EchoString;

public class echoClient {
private static String SEVER_URL = "http://localhost:9763/services/";
private static String USER_NAME = "admin";
private static String PASSWORD = "admin";

public static void main(String args[]) {
String trustStore = System.getProperty("user.dir") + File.separator + "src"
+ File.separator + "main" + File.separator + "resources" + File.separator
+ "wso2carbon.jks";
System.setProperty("javax.net.ssl.trustStore", trustStore);
System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
ConfigurationContext configContext;
try {
configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
null, null);

String serviceEndPoint = SEVER_URL + "echo";
EchoStub stub = new EchoStub(configContext, serviceEndPoint);
ServiceClient client = stub._getServiceClient();
Options option = client.getOptions();
option.setProperty(HTTPConstants.COOKIE_STRING, null);
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
auth.setUsername(USER_NAME);
auth.setPassword(PASSWORD);
auth.setPreemptiveAuthentication(true);
option.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth);
option.setManageSession(true);

EchoString echoString = new EchoString();

echoString.setIn("string");
System.out.println(stub.echoString(echoString).get_return());
String authCookie = (String) stub._getServiceClient().getServiceContext()
.getProperty(HTTPConstants.COOKIE_STRING);

System.out.println(authCookie);

} catch (Exception e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: