【Webservice】客户端调用

概念

Webservice是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

 

客户端调用步骤

  1. 打开控制台,cd到具体的目录下;
  2. 输入命令:wsimport -s . http://SERVICE-URL.asmx?wsdl
  3. 将相应目录下生成的文件复制到自己的项目中;
  4. 在浏览器打开 http://SERVICE-URL.asmx?wsdl 从下往上阅读;
  5. 找到 wsdl:service name=”ServiceName” 标签,编写代码:ServiceName sn = new ServiceName();
  6. 找到 wsdl:port name=”PortSoap” binding=”tns:GenericServicesSoap”,编写代码:ServiceNameSoap sns = gs.getServiceNameSoap();
  7. sns. 之后就可以看到相应的方法了,也可以继续参考wsdl;

Ps. wsimport -s F:\temp -p cn.your_package_name http://localhost:6666/service/xxxx?wsdl 可以设置生成地址和包名

第二种代码方式:

// 创建WSDL的URL
        URL url = new URL("http://123.123.123/webService/ProxyService?wsdl");
        // 创建服务名称
        QName qname = new QName("http://app.xxx.com/","ProxyService");
        // 创建服务
        Service service = Service.create(url,qname);
        // 获取服务实现类
        ProxyService port = service.getPort(new QName("http://app.xxx.com/","ProxyServiceImplPort"),ProxyService.class);
        // 调用方法
        String res = port.proxyFunction();
        System.out.println(res);

 

问题&解决

  1. wsimport 的路径中不要有空格;
  2. 如果出现问题,可以把xml下载下来,修改完之后,用wsimport访问本地文件;

 

参考博客

http://blog.csdn.net/csdn_gia/article/details/54863549
https://www.cnblogs.com/yisheng163/p/4524808.html?utm_source=tuicool
https://www.cnblogs.com/jiang1995/articles/5132902.html

相关文章

1.使用ajax调用varxhr;functioninvoke(){if(window.ActiveXO...
               好不容易把WebService服务器...
1新建一个工程项目用来做服务端增加一个MyService1类文件pac...
packagecom.transsion.util;importjava.io.BufferedReader;i...
再生产wsdl文件时重写描述文件1usingSystem;2usingSystem.Co...
一般情况下,使用eclipse自带的jax-ws生成webservice会自动生...