JDK开发webservice客户端和服务端 demo
2017-11-16 21:17
471 查看
一、发布websrvice接口 及将wsdl中xml生成java到客户端
自己怎么用sun提供的类做一个接口并发布出去生成wsdl
第一步,做一个 TS webservice工程 其下有个类ServiceHello,在类ServiceHello上加注解 @WebService,
在类的main方法中用Endpoint.publish("http://localhost:9002/TS/ServiceHello", new ServiceHello());
java代码如下:
package com.hyan.service2;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class ServiceHello {
public String getValue(String name){
return "你的名字是"+name;
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:9003/t/t", new ServiceHello());
System.out.println("发布成功");
}
}
此时如果在网上输入http://localhost:9003/t/t?wsdl 即可在网页上看到xml
("http://localhost:9002/TS/ServiceHello", new ServiceHello());其中
http://localhost:9002/TS/ServiceHello的意思 是用 http协议 将一个ip为localhost下的端口9002下的TS
项目下的ServiceHello发布为接口,当然这个url 端口后的/TS/ServiceHello也可以不一定要 /项目名/接口名
一致
比如我如果将ServiceHello这个接口发布成这样的url也是可以的如 Endpoint.publish
("http://localhost:9003/t/t", new ServiceHello());
这样在wsdl这个说明书 xml中的
<port name="ServiceHelloPort" binding="tns:ServiceHelloPortBinding">
<soap:address location="http://localhost:9003/t/t"/>
</port> 标签就会看到访问地址已经变成 http://localhost:9003/t/t 这样下次如果想生成客户端 就只需
要
在dos中输入
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl这条命令的意思是
将http://localhost:9003/t/t?wsdl这个url地址下说明书生成java文件到客户端(如上即生成到TS2项目src下
的com.hyan.client下) -s物理路径下 生成包结构com.hyan.client并保留包结构,并将根据
wsdl生成的java文件保留下这个包下
其中 wsiport表示导入文件,即根据wsdl生成的java文件导入 -s 绝对物理路径 -p 生成包结构 -keep 保留
这个包结构(否则会被删掉的)
http://localhost:9003/t/t?wsdl wsdl_url
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS/src -p com.hyan.client -keep
http://localhost:9005/ws/sh?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TheClient/src -p com.hyan.client -keep
http://localhost:9002/TS/ServiceHello?wsdl
wsimport -s D:/installSoftware/myeclipse10/wor kspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/TS/sh?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl
二。客户端开发
客户端进行开发
一。根据wsdl生成客户端数据
wsimport -s D:/installSoftware/myeclipse10/workspaces/TheClient/src -p com.hyan.client -keep
http://localhost:9002/TS/ServiceHello?wsdl
二。由这些根据服务端即ServiceHello?wsdl生成的客户端 java类来向服务端发请求,获取数据
在测试类中
//创建SEI的工厂对象
HelloWSImplService factory = new HelloWSImplService();
//得到一个SEI实现类对象
HelloWSImpl helloWS = factory.getHelloWSImplPort();
//调用SEI的方法,此时才去发送web Service请求,并得到返回结果
String result = helloWS.sayHello("Tom");
System.out.println(result);
--------------------》下面的代码片断经验证有问题,仅供参考
1. //创建服务视图 --- 这个new ServiceHelloService();由<service name="ServiceHelloService">得
ServiceHelloService serviceHelloService = new ServiceHelloService();
2.//获取服务实现类 这个getPort里面的参数由得<portType name="ServiceHello">
ServiceHello port = serviceHelloService.getPort(ServiceHello.class);
3.//调用查询方法,打印 ---最后调用服务端的方法即可
String value = port.getValue("小明");
System.out.println(value);
自己怎么用sun提供的类做一个接口并发布出去生成wsdl
第一步,做一个 TS webservice工程 其下有个类ServiceHello,在类ServiceHello上加注解 @WebService,
在类的main方法中用Endpoint.publish("http://localhost:9002/TS/ServiceHello", new ServiceHello());
java代码如下:
package com.hyan.service2;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class ServiceHello {
public String getValue(String name){
return "你的名字是"+name;
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:9003/t/t", new ServiceHello());
System.out.println("发布成功");
}
}
此时如果在网上输入http://localhost:9003/t/t?wsdl 即可在网页上看到xml
("http://localhost:9002/TS/ServiceHello", new ServiceHello());其中
http://localhost:9002/TS/ServiceHello的意思 是用 http协议 将一个ip为localhost下的端口9002下的TS
项目下的ServiceHello发布为接口,当然这个url 端口后的/TS/ServiceHello也可以不一定要 /项目名/接口名
一致
比如我如果将ServiceHello这个接口发布成这样的url也是可以的如 Endpoint.publish
("http://localhost:9003/t/t", new ServiceHello());
这样在wsdl这个说明书 xml中的
<port name="ServiceHelloPort" binding="tns:ServiceHelloPortBinding">
<soap:address location="http://localhost:9003/t/t"/>
</port> 标签就会看到访问地址已经变成 http://localhost:9003/t/t 这样下次如果想生成客户端 就只需
要
在dos中输入
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl这条命令的意思是
将http://localhost:9003/t/t?wsdl这个url地址下说明书生成java文件到客户端(如上即生成到TS2项目src下
的com.hyan.client下) -s物理路径下 生成包结构com.hyan.client并保留包结构,并将根据
wsdl生成的java文件保留下这个包下
其中 wsiport表示导入文件,即根据wsdl生成的java文件导入 -s 绝对物理路径 -p 生成包结构 -keep 保留
这个包结构(否则会被删掉的)
http://localhost:9003/t/t?wsdl wsdl_url
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS/src -p com.hyan.client -keep
http://localhost:9005/ws/sh?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TheClient/src -p com.hyan.client -keep
http://localhost:9002/TS/ServiceHello?wsdl
wsimport -s D:/installSoftware/myeclipse10/wor kspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/TS/sh?wsdl
wsimport -s D:/installSoftware/myeclipse10/workspaces/TS2/src -p com.hyan.client -keep
http://localhost:9003/t/t?wsdl
二。客户端开发
客户端进行开发
一。根据wsdl生成客户端数据
wsimport -s D:/installSoftware/myeclipse10/workspaces/TheClient/src -p com.hyan.client -keep
http://localhost:9002/TS/ServiceHello?wsdl
二。由这些根据服务端即ServiceHello?wsdl生成的客户端 java类来向服务端发请求,获取数据
在测试类中
//创建SEI的工厂对象
HelloWSImplService factory = new HelloWSImplService();
//得到一个SEI实现类对象
HelloWSImpl helloWS = factory.getHelloWSImplPort();
//调用SEI的方法,此时才去发送web Service请求,并得到返回结果
String result = helloWS.sayHello("Tom");
System.out.println(result);
--------------------》下面的代码片断经验证有问题,仅供参考
1. //创建服务视图 --- 这个new ServiceHelloService();由<service name="ServiceHelloService">得
ServiceHelloService serviceHelloService = new ServiceHelloService();
2.//获取服务实现类 这个getPort里面的参数由得<portType name="ServiceHello">
ServiceHello port = serviceHelloService.getPort(ServiceHello.class);
3.//调用查询方法,打印 ---最后调用服务端的方法即可
String value = port.getValue("小明");
System.out.println(value);
相关文章推荐
- 1. 使用JDK开发WebService客户端和服务端
- jdk与cxf的开发webservice客户端
- 使用Eclipse开发WebLogic WebService服务端和客户端
- Java开发WebService(含服务端和客户端)
- 使用GSoap开发WebService客户端与服务端
- Webservice实践(三)基于JDK的jax ws进行服务端开发
- webService 服务端与客户端的Demo
- 基于JAX-WS的Web Service服务端/客户端 ;JAX-WS + Spring 开发webservice
- 运用CXF开发webService接口服务端和客户端
- WebService-03-使用CXF开发服务端和客户端
- 应用Python开发WebService服务端及客户端
- 通过eclipse 的axis1插件,快速开发webservice服务端和客户端
- Aixs2开发WebService接口 服务端与客户端简单调用
- Axis2开发WebService服务端及客户端
- Delphi XE5通过WebService开发Web服务端和手机客户端
- WebService-03-使用CXF开发服务端和客户端
- 通过eclipse 的axis1插件,快速开发webservice服务端和客户端
- 使用netbeans6.7.1开发webservice 服务端 和 客户端(转)
- 使用CXF开发WebService程序的总结(四):基于bean的客户端和服务端代码的编写
- 用JAXWS2.1+Tomcat+Eclipse+JDK开发WebService客户端