WebService(4)_标准JDK发布WebService
使用JDK原生发布WebService,十分方便快捷. 附上项目工程代码 WebService使用JDK发布... 接口 @WebService这个注解,说明该接口是一个WebService接口 package com.jdk.ws; import javax.jws.WebService; @WebService public interface HelloService { public String sayHello(String name); } 实现方法 package com.jdk.ws; import javax.jws.WebService; @WebService public class HelloServiceImpl implements HelloService { public String sayHello(String name) { return "hello : "+name; } } main方法 public class WS_JDK_Main { /** * 使用JDK提供的javax.xml.ws.Endpoint即可发布WebService. * 不过需要提供一个WebService的地址(address). * @param args */ public static void main(String[] args) { String address = "http://localhost:8080/jdkws/HelloSerice"; HelloService helloService = new HelloServiceImpl(); Endpoint.publish(address,helloService); System.out.println("WebService is start~ address : "+address); } } 然后直接run运行就好... 看到这个wsdl文档,就说明你的Server端已经发布成功,可以被其他客户端调用了... 然后我们编写客户端调用代码. 首先,使用jdk自带的工具,根据wsdl文档,生成代码. 我们先创建一个空的Client工程项目. 然后获取src的路径. 在cmd命令行中,进入这个目录. 接下来,调用JDK工具,生成客户端代码. 对了,忘记说了.. 一定要配置好,JDK环境变量!!!!! 而且,发布的服务端程序,不要关闭...让它一直跑着... 现在我们执行命令...? 后面的那个url就是浏览器中发布的地址. 接着我们去Client工程的src下刷新一下.. 会发现有自动生成的代码在里面. 提示 : 有时候自动生成的代码,会报错,这个大部分情况是JDK版本引起的(至少我遇到的都是JDK版本问题)..尝试,切换JDK版本试试... 这个是自动生成的代码 然后我们编写一个Test方法,去调用服务端. 客户端代码 package com.jdk.client; import com.jdk.ws.HelloServiceImpl; import com.jdk.ws.HelloServiceImplService; public class TestClient { public static void main(String[] args) { HelloServiceImplService helloServiceImpl = new HelloServiceImplService(); HelloServiceImpl helloService = helloServiceImpl.getHelloServiceImplPort(); String responseStr = helloService.sayHello("CYX"); System.out.println(responseStr); } } run运行一下... 下面这个图,对应了WSDL文档和客户端调用代码之间的关系. OK...JDK发布WebService结束... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |