XML Web Services的Java API(JAX-WS)是一组用于以XML格式(SOAP)创建Web服务的API。 JAX-WS提供了许多注释,以简化Web服务客户端和Web服务提供商(端点)的开发和部署。
在本教程中,它提供了有关JAX-WS 2.0和JAXWS 2.1的许多分步示例和说明。
快乐学习JAX-WS🙂
快速开始
一些JAX-WS 2.x的快速入门示例。
图片:JAX-WS通信– 图像源
- JAX-WS hello世界示例– RPC样式
本教程向您展示如何通过使用JAX-WS和Java,wsimport和Ruby中的Web服务客户端来创建rpc样式的Web服务端点。 - JAX-WS Hello World示例–文档样式
本教程将向您展示如何使用JAX-WS创建文档样式的Web服务端点,并显示客户端和服务器之间的SOAP信封流。 - 如何在Eclipse IDE中跟踪SOAP消息
本教程将向您展示如何在Eclipse IDE中启用此“ TCP / IP监视器”,以及如何拦截由Web服务生成的SOAP消息。 - JAX-WS:wsimport工具示例
wsimport工具用于解析现有的Web服务描述语言(WSDL)文件并生成所需的文件(JAX-WS可移植工件),以供Web服务客户端访问已发布的Web服务。 - JAX-WS:wsgen工具示例
wsgen工具用于解析现有的Web服务实现类,并生成用于Web服务部署的必需文件(JAX-WS可移植工件)。
JAX-WS附件
如何在JAX-WS 2.x中处理附件。
- 带有MTOM的JAX-WS附件
一个完整的基于JAX-WS SOAP的示例,展示了如何使用消息传输优化机制(MTOM)和XML二进制优化打包(XOP)技术将二进制附件(图像)从服务器发送到客户端,反之亦然。
JAX-WS处理程序
SOAP处理程序是SOAP消息拦截器,它能够拦截传入或传出的SOAP消息并操纵其值。
- 第1部分:JAX-WS –服务器端的SOAP处理程序
在本文中,我们向您展示如何创建SOAP处理程序并将其附加到服务器端,以从每个传入的SOAP消息中检索SOAP标头块中的mac地址。 并进行验证,以仅允许MAC地址为“ 90-4C-E5-44-B9-8F”的计算机访问此发布的服务。 - 第2部分:JAX-WS –客户端中的SOAP处理程序
在本文中,您将开发一个Web服务客户端,以访问上一篇文章中发布的服务,并为每个客户端发送的每个传出SOAP消息附加一个处理程序,以将客户端的MAC地址注入标头块。 - 第3部分:JAX-WS –用于客户端和服务器端的SOAP处理程序测试
以上两篇SOAP处理程序文章的测试结果。
JAX-WS集成
如何将JAX-WS与Web应用程序和Spring框架集成。
- JAX-WS + Java Web应用程序集成示例
在这里,我们向您展示如何将JAX-WS与Java Web应用程序集成。 - JAX-WS + Spring集成示例
在这里,我们向您展示如何将JAX-WS与Spring框架集成。 - 无法找到XML模式名称空间的Spring NamespaceHandler [http://jax-ws.dev.java.net/spring/servlet]
将JAX-WS与Spring框架集成的常见错误消息。
Tomcat中的JAX-WS安全
如何在Tomcat中进行JAX-WS安全。
- 在Tomcat上部署JAX-WS Web服务
这是一个指南,向您展示如何在Tomcat Servlet容器上部署JAX-WS Web服务。 - 在Tomcat + SSL连接上部署JAX-WS Web服务
这是向您展示如何在启用Tomcat + SSL连接的情况下部署JAX-WS Web服务的指南。 - 使用JAX-WS进行应用程序身份验证
这是一个详细的示例,向您展示如何使用JAX-WS处理应用程序级别认证。 - 使用JAX-WS +(Tomcat版本)的容器身份验证
这是一个详细的示例,向您展示如何在Tomcat下使用JAX-WS实施容器身份验证。 - 使Tomcat支持SSL或https连接
- 如何在Java Web Service客户端中绕过证书检查
- java.security.cert.CertificateException:找不到与本地主机匹配的名称
- SunCertPathBuilderException:无法找到到请求目标的有效证书路径
JAX-WS错误消息
JAX-WS开发中的一些常见错误消息。
- WebSphere 7上的Metro – com.ibm.xml.xlxp2.jaxb.JAXBContextImpl不兼容异常
- Spring + jax-ws:'xxx'是一个接口,JAXB无法处理接口
- Spring + jax-ws:'#xxx'不是'NCName'的有效值
- javax.xml.stream.XMLStreamException:[row,col]:[x,xx]处为ParseError
- java.net.BindException:地址已在使用中:bind
- 找不到包装器类package.jaxws.methodName。 您是否运行过APT来生成它们?
- java.lang.ClassNotFoundException:com.sun.xml.ws.transport.http.servlet.WSServletContextListener
- java.lang.ClassNotFoundException:com / sun / xml / bind / v2 / model / annotation / AnnotationReader
- java.lang.ClassNotFoundException:com / sun / xml / stream / buffer / XMLStreamBuffer
- java.lang.ClassNotFoundException:com / sun / xml / ws / policy / PolicyException
- java.lang.ClassNotFoundException:javax.xml.ws.soap.AddressingFeature $ Responses
- java.lang.ClassNotFoundException:org.jvnet.staxex.XMLStreamReaderEx
- java.lang.ClassNotFoundException:org.glassfish.gmbal.ManagedObjectManager
- java.lang.ClassNotFoundException:org.glassfish.external.amx.AMXGlassfish
- java.lang.ClassNotFoundException:org.springframework.beans.factory.support.ReaderContext
- java.lang.ClassNotFoundException:org.apache.xbean.spring.context.v2.XBeanNamespaceHandler
参考文献
- http://jax-ws.java.net/
- http://download.oracle.com/javaee/5/tutorial/doc/bnayn.html
- http://java.sun.com/developer/technicalArticles/WebServices/high_performance/
- http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/
- http://blogs.sun.com/kamna/entry/using_jax_ws_handlers_to
- http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html
- http://www.ibm.com/developerworks/webservices/library/ws-docstyle.html
- http://www.oracle.com/technology/sample_code/tech/java/j2ee/jintdemo/tutorials/webservices.html
- http://www.coderanch.com/how-to/java/WebServicesFaq
- http://www.oracle.com/technetwork/articles/javase/index-137171.html