SAAJ是一个可是用户利用java来创建,读或修改SOAP消息的API,SAAJ包含了对SOAP的Envelop元素,Body元素,Fault元素以及XML命名空间,元素,属性,文本注释和MIME 附件建模的类和接口。SAAJ是一个空的类,有点类似JDBC。又供应商实现。我一般在CXF的 Interceptor中使用的比较多 SAAJ是一个抽象工厂模式,而抽象工厂模式的根就是MessageFactory。它负责创建本身的实例, 而该实例能用于创建SOAPMessage。SOAPMessage包含SOAPPart。SOAPPart表示文档以及零个或多个 AttachmentPart。
SOAPPart包含一个要对SOAP文档建立模型的对象族,其中包含Envelop元素,Body元素和Header元素
创建一个简单的SOAP消息实例:
<?xml version="1.0" encoding="UTF-8"?> <SOAP:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://tech.ddvip.com/<SPAN class=hilite1>saaj</SPAN>/simple"> <soap:body> <ns:getMessage> <msg>Hello World</msg> </ns:getMessage> </soap:body> </SOAP:Envelope>
Java代码如下:
MessageFactory msgFactory = MessageFactory.newInstance();
//用MessageFactory对象创建SOAPMessage对象
SOAPMessage message = msgFactory.createMessage();
//如果没有附件是。可以直接通过getSOAPHeader或getSOAPBody来获取Header或Body
//不需要通过这样的方式来获取message.getSOAPPart().getEnvelope().getHeader()
message.getSOAPHeader().detachNode();
SOAPBody body = message.getSOAPBody();
SOAPElement getMessage = body.addChildElement("getMessage", "ns", "http://www.javaeye.com/saaj/simple");
getMessage.setEncodingStyle(SOAPConstants.URI_NS_SOAP_ENCODING);
SOAPElement msg = getMessage.addChildElement("msg");
msg.addTextNode("Hello World");
message.writeTo(System.out);
分享到:
相关推荐
通过上述内容,我们不仅理解了SAAJ的基本概念和API结构,还学习了如何使用SAAJ实现Web服务的访问,包括基本的服务调用和文件上传功能。这对于从事Java Web开发的工程师来说是非常实用的知识点。
在本篇主题“JAVA6开发WebService(四)——SAAJ调用WebService”中,我们将探讨如何使用Java API for XML Messaging (SAAJ)来与WebService进行交互。SAAJ是Java平台中用于处理SOAP消息的API,它提供了创建、解析和...
- **SAAJ**:SOAP with Attachments API for Java,提供了构建和解析SOAP消息的能力,特别支持附件传输。 - **特点**: - 更多地暴露了SOAP消息的底层细节,适合需要更多控制权的场景。 - 相比之下,实现更为复杂...
Web Service技术包括Java API for XML Processing(JAXP)、Java API for XML Registries(JAXR)、Java API for XML-based RPC(JAX-RPC)、SOAP with Attachments API for Java(SAAJ)等。组件模型技术包括Java ...
13. **WebService**:利用JAVA API和工具创建WebService,如JAX-RPC、SAAJ、JAXB、JAXM和JAXR,或者JWSDP(Java Web服务开发包)。 14. **轻量级框架**:熟悉Spring、PicoContainer、Avalon等轻量级应用框架,理解...
熟悉XML处理API,如JAXP(Java API for XML Processing)、JDOM、DOM4J等,掌握Java与Web服务的交互技术,包括JAX-RPC、SAAJ、JAXB、JAXM、JAXR等。 ### 13. 依赖注入与控制反转 学习常用的应用框架,如Spring、...
- SAAJ规范提供了处理SOAP消息的API,支持SOAP1.1和1.2规范的消息处理,特别适用于处理带有附件的SOAP消息。这为开发者提供了一套完整的工具集,用于创建、读取和处理SOAP消息,从而简化了Web服务中SOAP通信的实现...
12. **Web服务**:构建和消费Web服务,使用JAX-RPC、SAAJ、JAXB、JAXM和JWSDP等API。 13. **轻量级框架**:了解Spring、PicoContainer、Avalon等IoC/DI框架,学习依赖注入的实现方式。 14. **J2EE技术**:熟悉JNDI...
- **SAAJ**:SOAP with Attachments API for Java,处理SOAP消息和附件。 2. **组件模型技术**: - **Servlet**:JavaServer Pages,用于生成动态网页内容的服务器端技术。 - **JSP**:JavaServer Pages,结合...
- **JAX-RPC(Java API for XML-based RPC)** 和 **SAAJ(SOAP with Attachments API for Java)**:与Web服务相关的API,用于创建和处理SOAP消息。 学习Java不应仅仅停留在编写程序的层面,深入理解其工作原理和...
熟悉至少一种XML API,如JAXP、JDOM、DOM4J或JAXR,以及Java Web Service相关API和技术,如JAX-RPC、SAAJ、JAXB、JAXM等,是构建现代Web服务的基础。 #### 十二、轻量级框架与依赖注入 掌握Spring、PicoContainer...
在开始之前,我们先了解如何使用SAAJ(SOAP with Attachments API for Java)API来创建一个SOAP消息。SAAJ提供了创建、读取、修改SOAP消息的方法,支持SOAP 1.1和SOAP 1.2版本。以下是创建SOAP消息的基本步骤: 1. ...
5. **数据库技术**:学习JDBC API,并掌握至少一种持久化/ORM框架,如Hibernate、JDO、Cocobase、TopLink、iBatis等。了解不同数据库(Oracle、MySQL、SQL Server)的特性和使用。 6. **对象关系映射**:理解对象...
1. Web Service 技术:JAXP(XML 处理 API)、JAXR(XML 注册表 API)、JAX-RPC(基于 XML 的 RPC API)、SAAJ(SOAP 附件 API)。 2. 组件模型技术:Servlet、JSP(JavaServer Pages)、JSF(JavaServer Faces)、...
最后,要学习构建Web服务的相关API,如JAX-RPC、SAAJ、JAXB、JAXM、JAXR、JWSDP,以及轻量级应用程序框架,如Spring、PicoContainer、Avalon,它们的IoC/DI风格对于模块化和松耦合的系统设计非常有用。 总之,学习...
学习SOAP、REST等Web服务技术,包括JAX-RPC、SAAJ、JAX-WS等API的使用,实现跨平台的数据交换和服务集成。 #### 15. IoC/DI容器与框架 熟悉Spring、PicoContainer等依赖注入(DI)和面向切面编程(AOP)框架,简化...
5. **SOAP with Attachments API for Java (SAAJ)**: 支持SOAP协议的API,用于实现Web服务。 6. **Servlets**: 一种服务器端技术,用于处理HTTP请求。 7. **JavaServer Pages (JSP)**: 用于创建动态网页的技术。 8. ...
- **saaj-api-1.3.jar**:SAAJ的API定义,与saaj-impl一起使用。 - **jra-1.0-alpha-4.jar**:可能是特定项目的Java运行时环境库,具体用途需要根据项目来确定。 在实际项目中,这些库是CXF工作的重要组成部分,...