JDK6中的WebService运用
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
Web Service的关键技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:表示信息交换的协议(简单对象访问协议).
3.WSDL:Web服务描述语言.
4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。
一、利用JDK web服务api实现,这里使用基于SOAP message的Web Service:
1.首先创建一个WS.Server项目,作为Web services Endpoint.
2.创建一个HelloService.java类
package com.demo.service;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class HelloService {
@WebMethod
public String sayHello(String world) {
return "Hello " + world;
}
public static void main(String[] args) {
HelloService hello = new HelloService();
Endpoint point = Endpoint.publish("http://localhost/helloService", hello);
System.out.println("服务器端正在运行 ......");
}
}
3.使用apt编译HelloService.java
D:/test/WS.Server>apt –d bin src/com/demo/service/HelloService.java
或写build.xml
<project name="ws.server" default="apt" basedir=".">
<target name="apt">
<exec dir="${basedir}" executable="apt">
<arg line="-d bin src/com/demo/service/HelloService.java"/>
</exec>
</target>
</project>
将会在D:/test/WS.Server/bin/com/demo/service/jaxws目录下生成SayHello.class和SayHelloResponse.class文件。
4.运行HelloService.java
D:/test/WS.Server/src>java com.demo.service.HelloService.java
在浏览器中输入http://localhost/helloService?wsdl
将会出现:
5. 创建一个WS.Client项目,作为Web services 客户端.
6.使用wsimport命令生成客户端程序
D:/test/WS.Client/src>wsimport –p com.demo.client –keep http://localhost/helloService?wsdl
或写build.xml文件
<project name="ws.client" default="wsimport" basedir=".">
<target name="clean">
<delete verbose="true">
<fileset dir="${basedir}/src/com/demo/client" includes="**/*.class"/>
</delete>
</target>
<target name="wsimport" depends="clean">
<exec dir="${basedir}/src" executable="wsimport">
<arg line="-p com.demo.client -keep http://localhost/helloService?wsdl" />
</exec>
</target>
</project>
将会在D:/test/WS.Client/src/com/demo/client下生成客户端java文件。
7.编写客户端测试类
package com.demo.test;
import com.demo.client.HelloService;
import com.demo.client.HelloServiceService;
public class WSTest {
public static void main(String[] args) {
HelloServiceService service = new HelloServiceService();
HelloService hello = service.getHelloServicePort();
System.out.println(hello.sayHello("China"));
}
}
包结构:
二、Deploy JAX-WS web services on Tomcat
1.首先创建一个WS.Web项目,作为Web services Endpoint.
2.创建一个HelloService接口
@WebService
@SOAPBinding(style = Style.RPC)
public interface HelloService {
@WebMethod
public String sayHello(String world);
}
3.创建一个实现类
@WebService(endpointInterface = "com.demo.ws.HelloService")
public class HelloServiceImpl implements HelloService {
@Override
@WebMethod
public String sayHello(String world) {
return "Hello " + world;
}
}
3.下载JAX-WS所依赖的jar
添加到工程的类路径
4.编写sun-jaxws.xml放在WebContent/WEB-INF/目录下
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="HelloWorld" implementation="com.demo.ws.HelloServiceImpl" url-pattern="/hello" />
</endpoints>
5.在web.xml中添加
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
6.部署到Tomcat中,并启动Tomcat
7.在浏览器中输入http://localhost/WS.Web/hello
将出现:
8.创建一个WS.Client工程作为客户端
9. 使用wsimport命令生成客户端程序
D:/test/WS.Client/src>wsimport –p com.demo.client –keep http://localhost:80/WS.Web/hello?wsdl
或写build.xml文件
<project name="ws.client" default="wsimport" basedir=".">
<target name="clean">
<delete verbose="true">
<fileset dir="${basedir}/src/com/demo/client" includes="**/*.class"/>
</delete>
</target>
<target name="wsimport" depends="clean">
<exec dir="${basedir}/src" executable="wsimport">
<arg line="-p com.demo.client -keep http://localhost:80/WS.Web/hello?wsdl" />
</exec>
</target>
</project>
将会在D:/test/WS.Client/src/com/demo/client下生成客户端java文件。
10.写一个测试类
public class WSTest {
public static void main(String[] args) {
HelloServiceImplService service = new HelloServiceImplService();
HelloService hello = service.getHelloServiceImplPort();
System.out.println(hello.sayHello("China"));
}
}
相关推荐
这个"WebService教程+实例+代码提示功能WebService实例.rar"压缩包文件显然包含了关于WebService的学习资料、实例代码和可能的代码提示功能,旨在帮助用户深入理解和实践WebService的开发。 首先,"教程地址.txt"很...
**C# Webservice实例与在IIS上的部署** 在IT领域,C# Webservice是一种基于.NET框架的服务,用于实现应用程序间的通信。它允许通过HTTP协议传递数据,使得不同平台的应用程序能够共享信息和服务。本教程将详细介绍...
在本例中,"C#调用WebService实例和开发(wsdl).pdf"可能包含详细的步骤和代码示例。 2. **添加引用**:将生成的代理类添加到你的项目中,这样就可以在C#代码中直接调用Web服务的方法。 3. **实例化代理类**:...
SAP&Java的Webservice实例 Webservice 是一种基于 SOAP 传输协议,用 WSDL 描述,用 XML 封装数据的接口技术。由于其跨平台、跨防火墙、开发成本低、开发周期短等优势而被广泛应用,但也有局限性,包括传输负载大、...
### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...
【WebService实例】 在IT行业中,WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的Web应用程序接口(API),它允许不同系统之间的数据交换和互操作性。这种技术使得开发者可以创建可跨平台、跨语言的...
SSH整合CXF Webservice实例详解 在Java世界中,SSH(Spring、Struts、Hibernate)是一种常见的企业级应用开发框架组合,它提供了强大的MVC(Model-View-Controller)架构支持,以及持久层管理和业务逻辑处理。而CXF...
【WebService实例】是Java WebService服务端开发的一个实践案例,主要展示了如何创建、部署和使用一个简单的WebService。在本文中,我们将深入探讨WebService的核心概念、Java WebService的实现技术以及如何进行服务...
标题"webService实例(java面试必用)"指出,这是一个针对Java开发者,尤其是面试准备者的Web Service实践教程。在Java面试中,理解Web Service的基本概念、工作原理和如何实现是必不可少的技能。 描述"Java中的...
### Java调用WebService实例解析与知识点详解 #### 核心概念与原理 在现代软件开发中,服务端之间以及客户端和服务端之间的通信是至关重要的。Web Service作为一种标准的、跨平台的服务实现方式,允许不同语言编写...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...
java webservice实例教程ppt,共15讲,java webservice实例教程适合对象:想要学习SOA面向服务编程思想,学习Webservice技术,希望学习系统间通信设计的Java设计开发人员。java webservice实例教程适合于各个层次的...
Myeclipse创建WebService实例-很好用.doc 验证成功
### Java开发WebService实例详解 在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”...
在提供的压缩包文件中,"php+webservice"很可能包含了PHP代码文件,用于演示如何调用由MyEclipse创建的Web服务。这些文件可能包括一个PHP脚本,该脚本使用SoapClient类与Web服务交互,以及MyEclipse项目中的源代码和...
"Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...