WebService的使用实例

来源:互联网 发布:淘宝鹰眼 编辑:程序博客网 时间:2024/04/30 02:52

package webServers;import javax.jws.WebService;import javax.xml.ws.Endpoint;@WebServicepublic class RealTimeDBWS {public void testGet(String ip){System.out.println(ip);}public String testSet(){return "192.168.10.143";}public static void main(String[] args) {/** * 参数1:服务的发布地址 参数2:服务的实现�? */Endpoint.publish("http://localhost:8008/RealTimeDBWS", new RealTimeDBWS());}}

package client;import webservers.RealTimeDBWS;import webservers.RealTimeDBWSService;public class Client {public static void main(String[] args){RealTimeDBWS ws=new RealTimeDBWSService().getRealTimeDBWSPort();ws.testGet("this's my ip!");System.out.println(ws.testSet());}}


1.创建webservice服务端:RealTimeDBWS
2.main函数直接调用:Endpoint.publish("http://localhost:8008/RealTimeDBWS", new RealTimeDBWS()),运行(在main函数所在的class中可以写入你需要的方法,实例中以testSet(),testGet(String ip)为测试方法)
3.检测服务是否启动:在浏览器输入http://localhost:8008/RealTimeDBWS?wsdl,出现内容,证明服务成功启动。
4.创建客户端:RealTimeDBClient
5.生成客户端代码:
 打开cmd,执行wsimport -s d:\client\ -keep http://localhost:8008/RealTimeDBWS?wsdl,其中,-s后跟代码存放的路径
 前提:需要配置好java的环境变量
6.将生成的客户端代码粘贴到RealTimeDBClient中src下(一级目录下,且生成的文件夹不能改名),即将d:\client\下的文件粘贴到src下,不做任何改动,否则会出现客户端代码无法使用的问题。
7.在RealTimeDBClient中调用WebService:创建class,写好main方法,RealTimeDBWS ws=new RealTimeDBWSService().getRealTimeDBWSPort()创建与服务端的连接,调用其测试方法ws.testGet("this's my ip!")进行测试。
问题:
1.两个类具有相同的 XML 类型名称
当对生成的客户端文件进行修改时,会出现的问题,这里指的修改包括:对生成的java文件进行重新命名,对生成的文件路径进行修改,对生成的文件夹进行修改,不是放在项目的根目录下(实例中指src)


0 0