加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Axis2 调用 流程

发布时间:2020-12-17 00:34:41 所属栏目:安全 来源:网络整理
导读:Axis2看了一些资料 自己总结下 客户端调用接口流程:首先是先 ?// 创建request SOAP包工厂 fac。 创建 请求soap 包的工厂 ?? ?private static OMFactory fac = OMAbstractFactory.getOMFactory(); //先通过fac工厂 创建 sopa的 命名空间,"tns" 有看别人提到

Axis2看了一些资料 自己总结下

客户端调用接口流程:首先是先

?// 创建request SOAP包工厂 fac。 创建 请求soap 包的工厂
?? ?private static OMFactory fac = OMAbstractFactory.getOMFactory();

//先通过fac工厂 创建 sopa的 命名空间,"tns" 有看别人提到过说是服务名,但是"" 或者填任何都可以,只要不和//已经的变量名重复,如果和调用接口 重复会报错,提示已存在

OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/","tns");

? //再通过fac工厂 创建 所需要 请求方法OMElement? 对象

String methodName = "getWeatherbyCityName";//调用的方法名

OMElement? method = fac.createOMElement(methodName,omNs);

//然后 给 方法对象 添加方法参数名称 和请求的参数值

String[] args = new String[]{"theCityName"};

String city = "杭州";

String[] vals = new String[]{"city"};

for(int i=0;i<args.length;i++){

??? OMNamespace params = fac.createOMNamespace(args[i],omNs);

???? params.setText(vals[i]);

???? method.addChild(params);

}

//创建 端点引用 EndpointReference 实例对象。并对EndpointReference设置private static EndpointReference targetEpr = new EndpointReference(url);

url为 String url = "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx";? 是webservice 接口地址。

//然后创建ServiceClient 客户端对象

ServiceClient? client? = new ServiceClient ();

//创建ServiceClient? 对象client? 的 Options选项

Options options = new Options();

options.setTo(targetEpr);

//在options中设置SOAP包的Action ? ? ? ?? SOAPAction

String SOAPAction = "http://WebXml.com.cn/getWeatherbyCityName";

options.setAction(SOAPAction);

//options.setProperty(HTTPConstants.CHUNKED,"false");//设置不受限制.? 这个据说是不受限制 至少我没遇到要添加这个

//然后给客户端设置opition选项

client .setOptions(options);

//调用接口方法

OMElement result = client.sendReceive(method);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读