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

通过本地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页面右键---查看源代码----文件另存为即可。

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

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

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

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

 

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

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

1、             点击工具栏上的lanchweb service

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

 2、 操作弹出框

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

3、直接操作方法

     点击go之后会出现该wsdl文件所表示的内容。包括方法、参数等。我们可以直接操作就可以达到调用的效果

 

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

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

  命令参数说明:
  -d:生成客户端执行类的class文件的存放目录
  -s:生成客户端执行类的源文件的存放目录
  -p:定义生成类的包名
  其他命令参数请参照:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html
  使用wsimport命令后,我们可以得到如下代码文件:
  命令行中当前目录
    |--com
      |--demo
        |--client
          |--Example.java
          |--ExampleResponse.java
          |--MyService.java
          |--MyServicePortType.java
          |--ObjectFactory.java
          |--package-info.java
  可以将上述文件拷贝到你的项目中,即可使用。
  测试:新建工程,并将com.demo.client包拷到工程文件下,编写测试文件Test.java,代码如下:
经过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice
经过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice
 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 stub
10         MyService server = new MyService();
11         MyServicePortType spt = server.getMyServiceHttpPort();
12         System.out.println(spt.example("hello"));
13     }
14 }
经过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice

 

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