java调用axis2_Java调用WebService方法总结(5)--Axis2调用WebService

本文详细介绍了如何使用Java通过Axis2调用WebService,包括AXIOM、ADB、XMLBeans、JiBX和JAXBRI五种方式,并提供了具体的代码示例。AXIOM方式无需额外代码,ADB和JiBX生成代码较少,而XMLBeans和JAXBRI生成较多。文章还提及了数据绑定方式的选择及其优缺点。
摘要由CSDN通过智能技术生成

Axis2是新一点Axis,基于新的体系结构进行了全新编写,有更强的灵活性并可扩展到新的体系结构。文中demo所使用到的软件版本:Java 1.8.0_191、Axis2 1.7.9。

1、准备

2、调用

2.1、AXIOM方式

AXIOM即AXis对象模型(AXis Object Model)是Apache Axis2的XML对象模型,可以大幅提升Axis2的性能。

/*** axiom方式

*@paramparam*/

public static voidaxiom(String param) {try{

ServiceClient client= newServiceClient();

Options options=client.getOptions();

EndpointReference endpointReference= newEndpointReference(url);

options.setTo(endpointReference);//设置SOAPAction

options.setAction("http://webxml.com.cn/toTraditionalChinese");//设置soap版本

options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);//options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);

OMFactory factory=OMAbstractFactory.getOMFactory();

OMNamespace namespace= factory.createOMNamespace(targetNamespace, "");

OMElement method= factory.createOMElement("toTraditionalChinese", namespace);

OMElement value= factory.createOMElement("sText", namespace);

value.addChild(factory.createOMText(value, param));

method.addChild(value);

method.build();

OMElement result=client.sendReceive(method);

System.out.println(result);

System.out.println(result.getFirstElement().getText());

}catch(Exception e) {

e.printStackTrace();

}

}

5.2、ADB方式

ADB即Axis Data Binding,Axis2自己的数据绑定方法。

2.2.1、用wsdl2java生成代码

%AXIS2_HOME%\bin\wsdl2java.bat -uri http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl -p com.inspur.ws.axis2.adb -d adb -s -o temp

-d 指定数据绑定方式

-p 指定包名

-o 指定代码生成的目录,指定的目录就生成在当前目录下,windows下指定绝对路径不生效(如:d:/temp)

命令会生成一个java文件:

ff2bf64d18aec2695707bbd136600173.png

2.2.2、生成代码调用WebService

/*** adb方式

*@paramparam*/

public static voidadb(String param) {try{

com.inspur.ws.axis2.adb.TraditionalSimplifiedWebServiceStub stub= newcom.inspur.ws.axis2.adb.TraditionalSimplifiedWebServiceStub();

com.inspur.ws.axis2.adb.Traditiona

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值