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 *@paramargs7 */
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 }
Webservice就是一个跨平台的应用。不管是什么语言都可以互相调用