JDK发布webservice服务,并生成客户端代码实战

一 jdk发布webservice服务

第一步:新建一个工程ws_jdk_server

新建类HelloServer.java

package com.ws.server;

import javax.jws.WebMethod;
import javax.jws.WebService;
/*
 * ①需要的权限是public
 * ②方法不能是final
 * ③方法不能是静态的
 * ④至少有一个方法
 */
@WebService
public class HelloServer {
	public String sayHello(String name){
		return name+" hello!";
	}
	
	@WebMethod(exclude=true)
	public String sayBuy(String name){
		return name + " Buy!";
	}
}
新建发布类ServerPublish.java

package com.ws.server;

import javax.xml.ws.Endpoint;

public class ServerPublish {

	public static void main(String[] args) {
		//jdk发布webservice服务,第一个参数服务地址,第二个是参数具体服务类
		Endpoint.publish("http://127.0.0.1:8081/hello", new HelloServer());
	}
}
在浏览器中输入http://127.0.0.1:8081/hello?wsdl,显示界面如下,发布成功

JDK发布webservice服务,并生成客户端代码实战_第1张图片


二 jdk生成客户端代码

jdk发布成功后,使用wsimport 生成java代码

例如在F盘wsCode文件夹下打开命令窗口,输入命令wsimport -s . -p com.ws.transHello http://127.0.0.1:8081/hello?wsdl

JDK发布webservice服务,并生成客户端代码实战_第2张图片

将生成的.class文件删除,只保留.java文件

然后新建一个工程ws_jdk_client,将刚才生成的java文件拷贝进去

JDK发布webservice服务,并生成客户端代码实战_第3张图片

新建一个测试类TestTransHelloClient.java

package com.ws.client;

import com.ws.transHello.HelloServer;
import com.ws.transHello.HelloServerService;

public class TestTransHelloClient {
	public static void main(String[] args) {
		//创建服务访问点集合
		HelloServerService hs = new HelloServerService();
		//根据服务访问点获得服务类
		HelloServer hsp = hs.getHelloServerPort();
		//调用业务逻辑类
		String result = hsp.sayHello("wangwu");
		System.out.println(result);
	}

}
运行结果:

JDK发布webservice服务,并生成客户端代码实战_第4张图片

详细步骤说明参考地址:点击打开链接

你可能感兴趣的:(Web,service)