`
liuxueping1987
  • 浏览: 63807 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

SAAJ API学习

阅读更多
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访问web服务

    通过上述内容,我们不仅理解了SAAJ的基本概念和API结构,还学习了如何使用SAAJ实现Web服务的访问,包括基本的服务调用和文件上传功能。这对于从事Java Web开发的工程师来说是非常实用的知识点。

    JAVA6开发WebService (四)——SAAJ调用WebService

    在本篇主题“JAVA6开发WebService(四)——SAAJ调用WebService”中,我们将探讨如何使用Java API for XML Messaging (SAAJ)来与WebService进行交互。SAAJ是Java平台中用于处理SOAP消息的API,它提供了创建、解析和...

    JAVA的WebService支持CXF与SAAJ第三版

    - **SAAJ**:SOAP with Attachments API for Java,提供了构建和解析SOAP消息的能力,特别支持附件传输。 - **特点**: - 更多地暴露了SOAP消息的底层细节,适合需要更多控制权的场景。 - 相比之下,实现更为复杂...

    java学习方向.pdf

    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 ...

    成为Java高手的25个学习目标.doc

    13. **WebService**:利用JAVA API和工具创建WebService,如JAX-RPC、SAAJ、JAXB、JAXM和JAXR,或者JWSDP(Java Web服务开发包)。 14. **轻量级框架**:熟悉Spring、PicoContainer、Avalon等轻量级应用框架,理解...

    java的28个学习目标

    熟悉XML处理API,如JAXP(Java API for XML Processing)、JDOM、DOM4J等,掌握Java与Web服务的交互技术,包括JAX-RPC、SAAJ、JAXB、JAXM、JAXR等。 ### 13. 依赖注入与控制反转 学习常用的应用框架,如Spring、...

    学习J2EE

    - SAAJ规范提供了处理SOAP消息的API,支持SOAP1.1和1.2规范的消息处理,特别适用于处理带有附件的SOAP消息。这为开发者提供了一套完整的工具集,用于创建、读取和处理SOAP消息,从而简化了Web服务中SOAP通信的实现...

    学习JAVA的30个目标.doc

    12. **Web服务**:构建和消费Web服务,使用JAX-RPC、SAAJ、JAXB、JAXM和JWSDP等API。 13. **轻量级框架**:了解Spring、PicoContainer、Avalon等IoC/DI框架,学习依赖注入的实现方式。 14. **J2EE技术**:熟悉JNDI...

    如何学习java如何学习java.doc

    - **SAAJ**:SOAP with Attachments API for Java,处理SOAP消息和附件。 2. **组件模型技术**: - **Servlet**:JavaServer Pages,用于生成动态网页内容的服务器端技术。 - **JSP**:JavaServer Pages,结合...

    java的30个学习目标

    熟悉至少一种XML API,如JAXP、JDOM、DOM4J或JAXR,以及Java Web Service相关API和技术,如JAX-RPC、SAAJ、JAXB、JAXM等,是构建现代Web服务的基础。 #### 十二、轻量级框架与依赖注入 掌握Spring、PicoContainer...

    SOAP入门

    在开始之前,我们先了解如何使用SAAJ(SOAP with Attachments API for Java)API来创建一个SOAP消息。SAAJ提供了创建、读取、修改SOAP消息的方法,支持SOAP 1.1和SOAP 1.2版本。以下是创建SOAP消息的基本步骤: 1. ...

    学习java的30个步骤

    5. **数据库技术**:学习JDBC API,并掌握至少一种持久化/ORM框架,如Hibernate、JDO、Cocobase、TopLink、iBatis等。了解不同数据库(Oracle、MySQL、SQL Server)的特性和使用。 6. **对象关系映射**:理解对象...

    谈Java和J2EE的学习

    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)、...

    学习java的30个目标

    最后,要学习构建Web服务的相关API,如JAX-RPC、SAAJ、JAXB、JAXM、JAXR、JWSDP,以及轻量级应用程序框架,如Spring、PicoContainer、Avalon,它们的IoC/DI风格对于模块化和松耦合的系统设计非常有用。 总之,学习...

    Java学习的30个目标

    学习SOAP、REST等Web服务技术,包括JAX-RPC、SAAJ、JAX-WS等API的使用,实现跨平台的数据交换和服务集成。 #### 15. IoC/DI容器与框架 熟悉Spring、PicoContainer等依赖注入(DI)和面向切面编程(AOP)框架,简化...

    如何学习JAVA

    5. **SOAP with Attachments API for Java (SAAJ)**: 支持SOAP协议的API,用于实现Web服务。 6. **Servlets**: 一种服务器端技术,用于处理HTTP请求。 7. **JavaServer Pages (JSP)**: 用于创建动态网页的技术。 8. ...

    CXF webservice初学笔记

    - **saaj-api-1.3.jar**:SAAJ的API定义,与saaj-impl一起使用。 - **jra-1.0-alpha-4.jar**:可能是特定项目的Java运行时环境库,具体用途需要根据项目来确定。 在实际项目中,这些库是CXF工作的重要组成部分,...

Global site tag (gtag.js) - Google Analytics