当前位置 : 主页 > 网页制作 > Nodejs >

WebService总结

来源:互联网 收集:自由互联 发布时间:2021-06-24
三年没写了。。。好快。。上班之后还是重拾起来,虽然早已不做ACM了,但是和大家分享知识总是令人高兴地。 说下项目中常用到的WebService吧,WebService技术是一种跨平台、耦合度非常

三年没写了。。。好快。。上班之后还是重拾起来,虽然早已不做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;

@WebService
public interface Hello {
	void sayHello();
}


第二步:完成实现类

package com.sgx.webservice;

import javax.jws.WebService;

@WebService
public class HelloImpl implements Hello{

	@Override
	public void sayHello() {
		System.out.println("Hello,World!");
	}

}

第三步:发布WebService,

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

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

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

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

如果是Tomcat服务器,应该还要实现一个Listner来发布服务。这样才能将服务发布出去。(Tomcat下请大家自行验证。)


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

网友评论