Axis、Axis2调用webservice

1.下载axis-bin-1_4.zip、axis2-1.5.5-bin.zip。

2.新建java project,然后在java build path 的libraries中add external jars,将axis-bin-1_4与axis2-1.5.5-bin解压缩后的lib目录中的jar添加进项目

3.编码调用webservice


import java.lang.reflect.Array;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;


private static EndpointReference targetEPR = new EndpointReference("http://www.test.com:967/Test.asmx?WSDL");//接口WebService地址

try{

OMFactory fac = OMAbstractFactory.getOMFactory();

OMNamespace omNs = fac.createOMNamespace("http://www.testnamespace.net/", "tns");//命名空间

OMElement method = fac.createOMElement("methodname", omNs);//方法名称


//请求参数设置
Options options = new Options();
options.setTo(targetEPR);//设定webservice地址
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);//设定传输协议
options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);//设定SOAP版本soap1.2


//客户端绑定参数设置
ServiceClient sender = new ServiceClient();
sender.setOptions(options);


//设定访问的接口方法

OMElement method2 = fac.createOMElement("calledmethodname", omNs);//要调用的接口方法名称
OMElement value1 = fac.createOMElement("EnterArgument", omNs);//方法的第一个参数名称
value1.addChild(fac.createOMText(value1, "参数值1"));//设定参数的值
method2.addChild(value1);//方法设置参数

//设定其他方法参数,针对参数是数组的情况如何处理?可以考虑为参数添加child,

//............


OMElement result2 = sender.sendReceive(method2);//调用接口方法
System.out.println(result2);//打印接口返回结果

//处理result2


}

 catch (Exception e) {
            e.printStackTrace();
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要通过Axis2调用Web服务接口,可以按照以下步骤进行操作: 1. 首先,确保已经安装了Java Development Kit(JDK)和Apache Axis2。可以从Apache官网下载并安装Axis2。 2. 创建一个Java项目,并将Axis2库添加到项目的类路径中。 3. 使用Axis2提供的工具生成客户端代码。可以使用wsdl2java工具来生成与Web服务接口对应的客户端代码。打开命令行终端,进入到Axis2的bin目录下,执行以下命令: ``` wsdl2java -uri <wsdl_url> -p <package_name> -d <output_directory> ``` 其中,`<wsdl_url>`是Web服务接口的WSDL文件的URL地址,`<package_name>`是指定生成的客户端代码所在的包名,`<output_directory>`是指定生成的客户端代码输出的目录。 4. 在Java项目中编写代码以调用Web服务接口。根据生成的客户端代码,可以创建相应的Web服务代理类,并使用该代理类来调用Web服务接口的方法。 ``` // 创建Web服务代理类 MyWebServiceStub stub = new MyWebServiceStub(); // 调用Web服务接口的方法 SomeResponse response = stub.someMethod(someRequest); ``` 在代码中,`MyWebServiceStub`是根据生成的客户端代码命名规则自动生成的类,`someMethod`是Web服务接口中定义的方法名,`someRequest`是调用方法所需的请求参数,`SomeResponse`是方法的返回结果类型。 5. 编译和运行Java项目,验证是否成功调用了Web服务接口。 这是一个基本的使用Axis2调用Web服务接口的过程。根据具体情况,可能需要额外的配置和处理,例如设置Web服务的地址、认证等。请根据实际需求进行相应的调整和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值