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

这篇文章介绍如何通过API调用部署在WSO2 ESB上的服务。

下面以WSO2 自带服务echo为例进行介绍。

1、生成客户端

点击echo服务名称,出现如下界面。

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

点击“Generate”,生成一个zip文件。

2、生成客户端代码。

解压zip文件,导入Eclipse,或者直接在pox.xml文件目录下输入mvn clean install。生成客户端Java代码。

3、客户端认证调用

编写程序调用服务

[java]  view plain  copy
  1. package com;  
  2.   
  3. import java.io.File;  
  4.   
  5. import org.apache.axis2.client.Options;  
  6. import org.apache.axis2.client.ServiceClient;  
  7. import org.apache.axis2.context.ConfigurationContext;  
  8. import org.apache.axis2.context.ConfigurationContextFactory;  
  9. import org.apache.axis2.transport.http.HTTPConstants;  
  10. import org.apache.axis2.transport.http.HttpTransportProperties;  
  11. import org.wso2.carbon.core.services.echo.EchoStub;  
  12. import org.wso2.carbon.core.services.echo.EchoStub.EchoString;  
  13.   
  14. public class echoClient {  
  15.     private static String SEVER_URL = "http://localhost:9763/services/";  
  16.     private static String USER_NAME = "admin";  
  17.     private static String PASSWORD = "admin";  
  18.   
  19.     public static void main(String args[]) {  
  20.         String trustStore = System.getProperty("user.dir") + File.separator + "src"  
  21.                 + File.separator + "main" + File.separator + "resources" + File.separator  
  22.                 + "wso2carbon.jks";  
  23.         System.setProperty("javax.net.ssl.trustStore", trustStore);  
  24.         System.setProperty("javax.net.ssl.trustStorePassword""wso2carbon");  
  25.         ConfigurationContext configContext;  
  26.         try {  
  27.             configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(  
  28.                     nullnull);  
  29.   
  30.             String serviceEndPoint = SEVER_URL + "echo";  
  31.             EchoStub stub = new EchoStub(configContext, serviceEndPoint);  
  32.             ServiceClient client = stub._getServiceClient();  
  33.             Options option = client.getOptions();  
  34.             option.setProperty(HTTPConstants.COOKIE_STRING, null);  
  35.             HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();  
  36.             auth.setUsername(USER_NAME);  
  37.             auth.setPassword(PASSWORD);  
  38.             auth.setPreemptiveAuthentication(true);  
  39.             option.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth);  
  40.             option.setManageSession(true);  
  41.   
  42.             EchoString echoString = new EchoString();  
  43.   
  44.             echoString.setIn("string");  
  45.             System.out.println(stub.echoString(echoString).get_return());  
  46.             String authCookie = (String) stub._getServiceClient().getServiceContext()  
  47.                     .getProperty(HTTPConstants.COOKIE_STRING);  
  48.   
  49.             System.out.println(authCookie);  
  50.   
  51.         } catch (Exception e) {  
  52.             e.printStackTrace();  
  53.         }  
  54.     }  
  55. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值