通过IDE生成和手动call调用webservice
来源:互联网 发布:软件著作权zhongzhiip 编辑:程序博客网 时间:2024/06/05 03:20
通过IDE自动生成的代码调用webservice服务
我们的IDE一般来说都是能够通过各种各样的工具来支持我们的开发使我们的开发变得更加的便捷。对于webservice来说自然也是如此,所以我们可以轻松的调用webservice插件来进行客户端代码的生成。在这里我们直接new就可以了
把我们本地的WSDL的地址输入进去
直接finish,自动生成了一堆的类和对象
然后我们直接根据以下的方法就可以测试我们的webservice接口的情况了
package localhost.webserviceTest.test;import org.apache.axis.AxisFault;import localhost.webserviceTest.services.webServiceTest.HellowWorldProxy;import localhost.webserviceTest.services.webServiceTest.WebServiceTestSoapBindingStub;public class webClientTest {public static void main(String[] args ){try {HellowWorldProxy pHellowWorldProxy= new HellowWorldProxy();System.out.print(pHellowWorldProxy.test(" zhengfang.sun"));} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
结果如下图所示
org.apache.axis.client.Call调用
Webservice接口我们自然可以通过IDE提供的功能进行生成,但是有时候也是会出现意外的,提供webservice的系统或者是服务方所在的网络环境和调用端的不连通,没有办法通过IDE进行生成,这个时候掌握其本质的调用方法就变得尤为重要
这种方法适用于在能够看到WSDL或者是能够知晓服务方提供的服务信息的前提下就可以使用。其核心是通过org.apache.axis.client.Call这个类进行webservice的调用。
package localhost.webserviceTest.test; import java.net.MalformedURLException; import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException;import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class ClientTest { public static void main(String[] args) throws MalformedURLException, RemoteException { Service service = new Service(); try { Call call = (Call) service.createCall(); //设置地址 注意这里的地址是附带WSDL的 call.setTargetEndpointAddress(new java.net.URL("http://localhost:8080/webserviceTest/services/webServiceTest?wsdl")); //设置要执行的方法 命名空间 方法名 call.setOperationName(new QName("http://localhost:8080/webserviceTest/services/webServiceTest","test")); //设置要传入参数,如果没有要传入的参数,则不要写这个 //如果我们只有单个参数的话这个参数的名称其实可以随意选取 call.addParameter("testStr", org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN); //设置返回的类型 call.setReturnType(org.apache.axis.Constants.XSD_STRING); String name = "zhengfang.sun1"; //执行,调用webservice String result = (String) call.invoke(new Object[]{name}); System.out.println(result); } catch (ServiceException e) { e.printStackTrace(); } } }
方法的执行结果
0 0
- 通过IDE生成和手动call调用webservice
- 通过IDE生成和手动call调用webservice
- java生成和调用webservice
- Axis1.4生成和调用Webservice
- 生成webservice接口以及通过客户端调用接口。
- spring配置xfire生成webservice接口 和 调用webservice接口
- WebService系列博客{三}[通过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice]
- 通过SSL调用WebService
- 通过Ajax调用webService
- 通过SSL调用WebService
- 通过Ajax调用WebService
- 通过Jquery调用WebService
- 通过HttpClient调用webservice
- 通过httpclient调用webservice
- 通过eclipse和axis1.4.1(axis2)Java生成webservice
- 通过eclipse生成webservice以及axis2和spring的整合
- java通过wsdl2java工具生成生成客户端调用c#.net做的webservice
- 使用wsdl手动生成webservice代理类
- 在自己笔记本电脑上如何访问虚拟机的内容、包括可以使用ssh、访问tomcat、访问nginx
- My SQL 对查询结果排序
- 非监督学习(Udacity学习笔记)
- Centos - tips
- C++ pair 用法
- 通过IDE生成和手动call调用webservice
- 迎新晚会 | 奇点无限 引燃十月
- 【NOIP2016提高A组五校联考1】道路规划
- python文件读写的缓冲行为
- IOC装配bean(注解的方式)
- AngularJS 2.0入门指南
- 深入探索C++对象模型之拷贝构造函数
- MyEclipse工作空间搭建笔记
- 161004