用axis调用webservice
来源:互联网 发布:linux awk print 编辑:程序博客网 时间:2024/05/17 01:59
本人测试过的小demo,用axis调用webservice实现,下面为代码:
服务端方法代码为:
public String handler(String name){return "我的名字是:"+name;}
客户端调用代码为:
public static void main(String[] args) {try{String url = "http://localhost:9001/Service/ServiceTest.jws?wsdl";String space = "http://service.zhan.com/";Service service = new Service();Call call = (Call) service.createCall();call.setTargetEndpointAddress(new java.net.URL(url));call.setUseSOAPAction(true);call.setOperationName(new QName(space,"handler"));call.addParameter(new QName(space,"name"), XMLType.XSD_STRING, ParameterMode.IN);call.setReturnType(XMLType.XSD_STRING);String response = (String) call.invoke(new Object[]{"Brookes"});System.out.println("return value is: " + response);}catch (Exception ex){ ex.printStackTrace();}}
结果一运行结果为:return value is: 我的名字是:null //方法是调通了,但是没有接收到哦参数,。。
后来研究出来了:把call.addParameter(new QName(space,"name"), XMLType.XSD_STRING, ParameterMode.IN);修改为
call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN); 就可以了。
运行后结果为:return value is: 我的名字是:Brookes
这是为什么呢?
结合SoapUI分析发现,如果jws通过annotation来发布,或者类似方式,通过axis调用,需要注意两点:
1)在call.setOperationName是必须通过Qname来制定namespaceURI
2)在设定参数时,不使用服务端定义的参数名,而是arg0~argN来定义,也不需制定namespaceURI,
为什么服务端的参数好端端的变为arg0-arg9呢,参数变了很不好啊。服务端需要写什么来解决这个问题啊?
方法如下:
到 WebRoot/WEB-INF/wsdl下,找到你项目对应的****.xsd文件,将其中arg0-arg9改成您对应的接口参数名。
0 0
- 用axis调用webservice
- 用axis解析webservice并调用
- 用axis解析webservice并调用
- java用axis方式调用webservice接口
- axis 调用webservice (客户端)
- java调用webservice axis
- Axis、Axis2调用webservice
- axis调用webservice接口
- axis调用webservice(net)
- AXIS调用webService服务
- 使用axis调用webservice
- Axis调用WebService
- axis方式调用webservice
- axis调用webservice接口
- axis调用webservice服务
- axis 2调用webservice
- 用http的方式调用webservice,另,用axis调用
- 客户端调用Webservice例子(Axis)
- HTML5 语义元素
- Github
- 浅谈算法和数据结构: 十一 哈希表
- Raymarching Distance Fields
- Activity与Fragment通信——回调方法实现
- 用axis调用webservice
- iOS/mac开发的一些知名个人博客
- android中使用百度定位sdk实时的计算移动距离
- synchronized分析
- C++中的容器类详解
- c++对象模型研究2:构造函数
- Leecode 刷题1 Two Sum
- 关于Web自动化的一些思考
- JS 对数组元素排序