通过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice

http://biancheng.dnbcw.info/javascript/444313.html

 

注意:

WebService的注解@WebService在发布的时候是不发布静态、私有的方法为外部调用的

 

 

1、得到根据源代码的方式生成调用代码

除了通过url的方式可以生成服务器端的调用代码。我们也可以通过解析wsdl文件

来生成调用代码。

?        制作wsdl文件的方法

浏览器访问wsdl文件。比如http://192.168.1.103:8888/hello?wsdl页面右键

扫描二维码关注公众号,回复: 658358 查看本文章

---查看源代码----文件另存为即可。

然后还是用wsimport命令。命令如下:(前提是进入wsdl文件所在目录)

wsimport -s .file:\\\d:/wstest/hello.wsdl

然后拷贝生成的代码编写客户端程序调用即可

2、利用MyEclipse的WebService视图调用webservice

 

?               除了客户端生成代码编写程序调用之外。还可以用MyEclipse提供的WebServi

Ce视图来更加清晰的调用和分析

1、             点击工具栏上的lanchweb service

 2、 操作弹出框

3、直接操作方法

     点击go之后会出现该wsdl文件所表示的内容。包括方法、参数等。

我们可以直接操作就可以达到调用的效果

 

 ----------------------------------------------------------------------------------------

在命令提示符中使用如下命令:wsimport -keep -p com.demo.client http://localhost:8080/Demo/services/MyService?wsdl

  命令参数说明:
  -d:生成客户端执行类的class文件的存放目录
  -s:生成客户端执行类的源文件的存放目录
  -p:定义生成类的包名
  使用wsimport命令后,我们可以得到如下代码文件:
  命令行中当前目录
    |--com
      |--demo
        |--client
          |--Example.java
          |--ExampleResponse.java
          |--MyService.java
          |--MyServicePortType.java
          |--ObjectFactory.java
          |--package-info.java
  可以将上述文件拷贝到你的项目中,即可使用。
  测试:新建工程,并将com.demo.client包拷到工程文件下,
编写测试文件Test.java,代码如下:
复制代码
 1 package com.demo.wsimport;
 2 
 3 public class Test {
 4 
 5     /** 6      * @param args
 7 */
 8     public static void main(String[] args) {
 9         // TODO Auto-generated method stub10         
           MyService server = new MyService();
11         MyServicePortType spt = server.getMyServiceHttpPort();
12         System.out.println(spt.example("hello"));
13     }
14 }
复制代码

 ----------------------------------------------------------------------------------------------------

cmd:D:\temp>wsimport -s . http://192.168.0.102:6789/hello?wsdl可产生代码

 ----------------------------------------------------------------------------------------------------

wsimport -keep -p com.vtradex.jac_scl 

http://localhost:8089/edi_server/services/webServerByAllInterFace?wsdl

 ----------------------------------------------------------------------------------------------------

Webservice就是一个跨平台的应用。不管是什么语言都可以互相调用

 

猜你喜欢

转载自minyongcheng.iteye.com/blog/2015506
今日推荐