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、客户端认证调用
编写程序调用服务
下面以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(); } } }
相关文章推荐
- wso2——(11)esb 服务 API调用
- 语义Web服务的API使用实例:OWL-S API结合matchmaker、推理机(Jena、Pellet)进行语义转换、匹配、组合及调用web服务
- CXF之使用jaxws API 发布服务与进行客户端调用
- arcgis-jsapi调用天地图在线服务范例
- ArcGIS API for Silverlight 调用GP服务加载等值线图层
- 如何用javascript api for arcgis调用有参数的GP服务
- 用于 J2ME 的 Web 服务 API 进行远程服务调用 API
- c#调用百度地图web服务api-----该方法可用在js跨域请求上
- 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API
- ArcGIS10.1python调用Admin API完成几何服务的启动
- ArcGIS API for Silverlight 调用GP服务加载等值线图层
- CXF之使用CXF API 发布服务与进行客户端调用
- Fiddler实验:使用Composer发起百度短网址服务API调用请求
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- ArcGIS Server Flex API 调用GP服务
- 通过 Jersey 客户端 API 调用 REST 风格的 Web 服务
- ArcGIS Flex API 调用天地图和Google地图服务
- ArcGISServer Flex API 调用GP服务实现服务区分析(转帖)
- 通过Jersey客户端API调用REST风格的Web服务
- c#调用百度地图web服务api-----该方法可用在js跨域请求上