JAX-WS 2.0 教程:从入门到实践

5星 · 超过95%的资源 需积分: 9 9 下载量 129 浏览量 更新于2024-07-31 收藏 124KB DOC 举报
"JAX-WS自学笔记涵盖了JAX-WS的基本概念,创建Web Service的两种方法,发布服务,创建客户端以及处理SOAP头等关键知识点。笔记内容详细讲解了从Java类开始创建Web Service,从WSDL开始创建服务,发布服务到应用程序和Web应用程序,以及如何生成和修改Java代码来调用Web Service。此外,还涉及到在客户端和服务端添加和访问SOAP头的操作。" JAX-WS,全称Java API for XML-Based Web Services,是Java平台上的一个标准,用于构建和部署Web服务。它是对JAX-RPC的升级,旨在提供更现代、更基于标准的Web服务编程模型,与Java 5兼容,并利用了JAXB(Java Architecture for XML Binding)和StAX(Streaming API for XML)等技术。 2.0版本的JAX-WS引入了两个主要的开发模式:自顶向下和自底向上。自顶向下意味着从WSDL文件开始,而自底向上则是从Java类开始构建Web服务。对于自底向上,我们首先编写包含Web服务方法的Java类,然后使用`wsgen`工具生成服务接口(SEI)、服务实现类以及WSDL和XSD文件。例如,以下是一个简单的`Hello`服务: ```java package ws; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class Hello { @WebMethod public String say(String name, int age) { return "Hello, I am " + name + ", I am " + age + " years old."; } } ``` 在命令行中,可以使用`wsgen`工具将这个Java类转换为相应的Web服务组件: ``` wsgen -cp ./bin -r ./src -d ./bin -wsdl ws.Hello ``` 2.0版本的JAX-WS不仅简化了开发流程,还支持动态代理,使得Web服务客户端的创建更为简便。客户端可以通过`wsimport`工具从WSDL文件生成Java代码,然后进行调用。例如,生成的客户端代码可能需要根据实际需求进行修改,以便正确地调用Web服务。 处理SOAP头是JAX-WS中的一个重要方面,允许传递额外的信息,如认证或事务控制。客户端可以添加SOAP头,服务端则可以读取和处理这些头。JAX-WS提供了API来支持这一功能,包括在服务端获取和处理SOAP头,以及在客户端设置和发送SOAP头。 JAX-WS自学笔记详尽地介绍了从基本概念到实践操作的全过程,适合初学者了解和掌握Web服务的开发。通过学习这个笔记,读者可以熟练地创建、发布Web服务,以及构建能够有效通信的客户端。