webservice之通过wsdl文件生成客户端
通过前面我们了解的内容,我们来简单的编写一个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编译的代码也会出现错了,你根据代码提示删除就好,不影响运行!
最后我们来看一下运行结果:
总结:
当然在工作中我们不是这么简单的编写,我觉得还应该去看一下普遍是怎么用的,怎么写的!