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には、Envelop要素、Body要素、Header要素を含むSOAPドキュメントのモデルを作成するオブジェクトファミリーが含まれます.
簡単なSOAPメッセージインスタンスを作成します.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP:Envelope
	xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:ns="http://www.iteye.com/saaj/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.iteye.com/saaj/simple");
getMessage.setEncodingStyle(SOAPConstants.URI_NS_SOAP_ENCODING);
SOAPElement msg = getMessage.addChildElement("msg");
msg.addTextNode("Hello World");
message.writeTo(System.out);

資料:
【1】
SAAJ--理論的には美しくて、実践の中で阻まれていますか?
【2】
The Sorry State of SAAJ