WebService学习笔记-Hello world


截图中包含一个服务器和一个客户端。

服务器端

HelloWS.java接口

/**
 * SEI
 *
 */
@WebService
public interface HelloWS {
	@WebMethod
	public String sayHello(String name);
}

HelloWSImpl.java实现HelloWS.java接口

@WebService
public class HelloWSImpl implements HelloWS{

	@Override
	public String sayHello(String name) {
		System.out.println("Server says hello to " + name);
		return "Hello " + name;
	}
}

ServerTest发布服务

/**
 * 发布Webservice
 *
 */
public class ServerTest {
	public static void main(String[] args) {
		String address = "http://192.168.13.232:8989/ws_01/umgsai";
		Endpoint.publish(address, new HelloWSImpl());
		System.out.println("发布成功");
	}
}


客户端

①使用JDK自带的wsimport工具根据网络url来生成客户端代码

在cmd中进入到目标目录,例子中是client项目中的src目录,执行

wsimport -keep http://192.168.13.232:8989/ws_01/umgsai?wsdl

执行完后会在src中生成一下目录和文件

②使用JDK自带的wsimport工具根据wsdl文件来生成客户端代码

在浏览器中打开

http://192.168.13.232:8989/ws_01/umgsai?wsdl

然后将代码保存为umgsai.wsdl文件。将文件中的8989端口改成8080

然后在Eclipse中配置一个端口转发

在cmd中进入到目标目录,例子中是client项目中的src目录,执行

wsimport -keep E:\umgsai\workspace\WS_Client\src\umgsai.wsdl

执行完后会在src中生成一下目录和文件



客户端调用

然后在ClientTest.java中调用Server端的函数

public class ClientTest {
	public static void main(String[] args) {
		HelloWSImplService factory = new HelloWSImplService();
		HelloWSImpl helloWS = factory.getHelloWSImplPort();
		System.out.println(helloWS.getClass());
		String result = helloWS.sayHello("Tom");
		System.out.println(result);
	}
}


本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1562143

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。