WebService总结

来源:互联网 发布:网络剧有毒同人小说 编辑:程序博客网 时间:2024/05/29 18:51

三年没写了。。。好快。。上班之后还是重拾起来,虽然早已不做ACM了,但是和大家分享知识总是令人高兴地。


说下项目中常用到的WebService吧,WebService技术是一种跨平台、耦合度非常低的应用。实际场景:

1.提供WebService的WSDL地址,要求我们调用其中的方法,完成某些业务逻辑。此时我们是客户端调用服务,别人是服务端提供服务。

假设有这样的一个WSDL地址,10.112.11.145:9902/App/MyImplService?WSDL;里面定义了一个方法void add(int x,int y);


我们在浏览器地址中输入这个WSDL地址(前提是有效的),就可以看到一些XML,通常是SOAP报文。

开发的时候,

第一步:打开CMD的DOS窗口,进入你的jdk安装目录的bin下面,比如我的是D:/jdk1.6.0_26/bin,利用jdk提供的wsimport.exe工具来生成我们本地需要的java代码。

命令如下:

wsimport  -s  D;\Test\src  http://10.112.11.145:9902/App/MyImplService?WSDL,

就可以在指定的Src目录下获得我们的java代码了。


第二步:


把上面得到的Java文件直接导入到我们的项目中,就跟用已有的Java文件一样,可以直接用,调用过程也很简单。

MyImplService service = new MyImplService();MyImpl serviceImpl = service.getMyImplPort();serviceImpl.add(xx,xx);

这样就完成了整个过程的调用。


2.服务提供方。我们作为WebService的提供方开发接口,别人来调用我们的服务,像1中我们的操作一样。

这个相信也有很多人都做过了,很简单,

第一步:根据你具体的业务逻辑定义接口,

package com.sgx.webservice;import javax.jws.WebService;@WebServicepublic interface Hello {void sayHello();}


第二步:完成实现类

package com.sgx.webservice;import javax.jws.WebService;@WebServicepublic class HelloImpl implements Hello{@Overridepublic void sayHello() {System.out.println("Hello,World!");}}

第三步:发布WebService,

1.如果是本地项目的话,直接用java里面的Endpoint.publish(yourwsdl)即可。

2.如果是要上其他环境(UAT,生产==)这个时候我们只需要定义好我们的WebService接口,WebMethod等等。

如果是WebLogic服务器的话,服务端只需要定义接口和实现类,这样应用启动的时候就会自动检测到这个WebService服务并且将他发布出去,

我们在浏览器输入地址验证一下即可。



然后别人就可以调用了我们发布的服务了。