WebService学习笔记-Hello world

wKiom1Q3dkWB8TjnAAEeii4Y_so241.jpg

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

服务器端

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中生成一下目录和文件

wKioL1Q3d-3jTWQaAAB-Oxac2vw074.jpg

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

在浏览器中打开

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

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

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

wKioL1Q3f2yA1C7BAADkcaISkZM713.jpg

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

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

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

wKioL1Q3d-3jTWQaAAB-Oxac2vw074.jpg


客户端调用

然后在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);
	}
}


wKiom1Q3gLPC0vJZAAH8imENF3M577.jpg

你可能感兴趣的:(webservice)