当前位置: 代码迷 >> Web前端 >> 经过本地Wsdl文件生成客户端调用代码、MyEclipse视图调用webservice
  详细解决方案

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

热度:731   发布时间:2014-02-12 21:25:08.0
通过本地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

?2、 操作弹出框

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,代码如下:
复制代码
 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 }
复制代码

?

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

?

  相关解决方案