3、使用JaxWs开发Web Service
2016-07-05 21:10
357 查看
1、服务端开发
1.1 新建web项目HelloJaxWsService
1.2 SEI接口
编写SEI(Service Endpoint Interface),SEI在webservice中称为portType,在java中称为接口。
2.3 SEI接口的实现类
SEI的实现类中服务方法,可以对外由客户端通过网络协议访问。
2.4 发布Web Service
public class PublicTest {
public static void main(String[] args) {
// 发布服务
String address = "http://localhost:7888/helloWorld";
Endpoint.publish(address, new HelloWorldDaoImpl());
}
}
2.5 访问发布的Web Service
在浏览器输入地址:http://localhost:7888/helloWorld
2、客户端开发
2.1 新建Java项目,进行webService服务的调用
2.2 使用wsimport生成服务端接口的调用代码
wsimport.exe在jdk的bin目录中
wsimport通过wsdl说明书的地址生成客户端的调用代码。
wsimport.exe位于JAVA_HOME\bin目录下.
常用参数为:
-s <目录> -
将生成.java文件。
-p <生成的新包名> -将生成的类,放于指定的包下。
(wsdlurl) http://server:port/service?wsdl,必须的参数。
2.3 编写测试代码,进行WebService的调用
2.3.1 第一种调用方法
public class ClientTest1 {
public static void main(String[] args) {
// 服务视图
HelloWorldDaoImplService helloWorldDaoImplService = new HelloWorldDaoImplService();
// portType
HelloWorldDaoImpl helloWorldDaoImplPort = helloWorldDaoImplService
.getHelloWorldDaoImplPort();
// 调用webService提供的服务
String str = helloWorldDaoImplPort.sayName("zhang");
System.out.println(str);
}
}
2.3.2 第一种调用方法的结果
2.3.3 第二种调用方法
public class ClientTest2 {
public static void main(String[] args) throws MalformedURLException {
// wsdl地址
URL wsdlDocumentLocation = new URL(
"http://localhost:7888/helloWorld?wsdl");
// serviceName
QName serviceName = new QName("http://daoImpl.jaxwsservice.com/",
"HelloWorldDaoImplService");
// 通过手动指定wsdl地址和服务名称来创建服务视图
Service service = Service.create(wsdlDocumentLocation, serviceName);
// 接口的class来创建接口,然后调用服务方法
HelloWorldDaoImpl port = service.getPort(HelloWorldDaoImpl.class);
// 通过服务来调用方法
String str = port.sayName("zhang");
System.out.println(str);
}
}
2.3.4 第二种调用方式的结果
1.1 新建web项目HelloJaxWsService
1.2 SEI接口
编写SEI(Service Endpoint Interface),SEI在webservice中称为portType,在java中称为接口。
public interface IHelloWorldDao { public String sayName(String name); }
2.3 SEI接口的实现类
SEI的实现类中服务方法,可以对外由客户端通过网络协议访问。
@WebService public class HelloWorldDaoImpl implements IHelloWorldDao { @Override public String sayName(String name) { return "Hello: " + name; } }
2.4 发布Web Service
public class PublicTest {
public static void main(String[] args) {
// 发布服务
String address = "http://localhost:7888/helloWorld";
Endpoint.publish(address, new HelloWorldDaoImpl());
}
}
2.5 访问发布的Web Service
在浏览器输入地址:http://localhost:7888/helloWorld
2、客户端开发
2.1 新建Java项目,进行webService服务的调用
2.2 使用wsimport生成服务端接口的调用代码
wsimport.exe在jdk的bin目录中
wsimport通过wsdl说明书的地址生成客户端的调用代码。
wsimport.exe位于JAVA_HOME\bin目录下.
常用参数为:
-s <目录> -
将生成.java文件。
-p <生成的新包名> -将生成的类,放于指定的包下。
(wsdlurl) http://server:port/service?wsdl,必须的参数。
2.3 编写测试代码,进行WebService的调用
2.3.1 第一种调用方法
public class ClientTest1 {
public static void main(String[] args) {
// 服务视图
HelloWorldDaoImplService helloWorldDaoImplService = new HelloWorldDaoImplService();
// portType
HelloWorldDaoImpl helloWorldDaoImplPort = helloWorldDaoImplService
.getHelloWorldDaoImplPort();
// 调用webService提供的服务
String str = helloWorldDaoImplPort.sayName("zhang");
System.out.println(str);
}
}
2.3.2 第一种调用方法的结果
2.3.3 第二种调用方法
public class ClientTest2 {
public static void main(String[] args) throws MalformedURLException {
// wsdl地址
URL wsdlDocumentLocation = new URL(
"http://localhost:7888/helloWorld?wsdl");
// serviceName
QName serviceName = new QName("http://daoImpl.jaxwsservice.com/",
"HelloWorldDaoImplService");
// 通过手动指定wsdl地址和服务名称来创建服务视图
Service service = Service.create(wsdlDocumentLocation, serviceName);
// 接口的class来创建接口,然后调用服务方法
HelloWorldDaoImpl port = service.getPort(HelloWorldDaoImpl.class);
// 通过服务来调用方法
String str = port.sayName("zhang");
System.out.println(str);
}
}
2.3.4 第二种调用方式的结果
相关文章推荐
- ASP.NET WebService中使用ASP.NET_SessionId的问题说明
- ASP.NET中基于soaphead的webservice安全机制
- ASP调用WebService转化成JSON数据,附json.min.asp
- js调用webservice构造SOAP进行身份验证
- ajax跨域调用webservice的实现代码
- ASP.NET调用WebService服务的方法详解
- php的webservice的wsdl的XML无法显示问题的解决方法
- PHP调用Webservice实例代码
- 在PHP中利用wsdl创建标准webservice的实现代码
- JQuery调webservice实现邮箱验证(检测是否可用)
- WebService出现"因 URL 意外地以 结束,请求格式无法识别"的解决方法
- 用JavaScript调用WebService的示例
- jQuery 调用WebService 实例讲解
- jQuery调用WebService返回JSON数据及参数设置注意问题
- 同步调用和异步调用WebService
- C#调用WebService实例开发
- 动态webservice调用接口并读取解析返回结果
- WebService 的简单封装接口调用方法
- ASP.NET实现基于Forms认证的WebService应用实例
- C#使用WebService结合jQuery实现无刷新翻页的方法