webservice之通过wsdl文件生成客户端

jopen 8年前

通过前面我们了解的内容,我们来简单的编写一个webservice的实例

环境:eclipse+jdk1.6

 

那么,我们如何用java发布一个webservice服务呢?

1)用jdk1.6以后的版本发布;

(2)与Web服务相关的类,都位于Javax.jws.*包中

        @WebService——此注解用在类上指定将此类发布成一个WebService;

        EndPoint——此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布

例子:

1.发布webservice服务

项目结构(javaproject):

HelloSir.java:

好了上面的代码基本上就编写完成了,原谅我直接放图片,因为我在第一次写这个例子的时候中间出现过几次错误,我怕不标清楚会打喷嚏

点击运行后,我们就可以查看我们生成的wsdl文件了

好了,生成的wsdl文件,如果有看不懂的,可以根据前面的内容来对照着看一下!这样有便于记忆和理解!

既然服务已经发布了,wsdl文件也有了,我们就根据wsdl文件来生成客户端来调用一下我们发布的服务

我们根据jdk自带的wsimport命令来生成客户端的代码

wsimport.exe命令参数熟知:

    -d:生成class文件。默认参数。

    -s:生成Java文件

    -p:自定义包结构

用这个命令后生成的代码如下:

将他们黏贴复制到我们先建的工程下(javaproject)下:

然后编写我们的调用代码MyClient:

package www.yq.com;  /**    * @Project     WebServiceClient    * @File        MyClient.java    * @Package     www.yq.com    * @Date        2016年1月14日 上午11:02:14    * @Author         * @email          */  public class MyClient {   public static void main(String[] args) {    HelloSirService hss = new HelloSirService();    HelloSir hs = hss.getHelloSirPort();    String result = hs.sayHello("大波");    System.out.println(result);   }    }

这完了以后基本就大功告成了,当然你在用客户端调用发布的服务时,服务不能停止,如果停止会报连接错误!

当然jdk编译的代码也会出现错了,你根据代码提示删除就好,不影响运行!

最后我们来看一下运行结果:

总结:

当然在工作中我们不是这么简单的编写,我觉得还应该去看一下普遍是怎么用的,怎么写的!


来自: http://my.oschina.net/u/2606929/blog/602259