0
http://docs.oracle.com/javaee/5/tutorial/doc/bnbhr.html
SOAPMessage message = messageFactory.createMessage();
SOAPHeader header = message.getSOAPHeader();
SOAPBody body = message.getSOAPBody();
によると、ここで、それが生成するXMLです:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
しかし、私の実装は<SOAP-ENV:Header/>
タグなし
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
のようなXMLコードを生成します。空でも明示的にヘッダタグが必要です。どのようにしてそのようなXMLを生成できますか?ここで
は私のコード、私は私のコンソール上でそれを印刷する
ByteArrayOutputStream in = new ByteArrayOutputStream();
request.writeTo(in);
logger.debug("Sending: " + in);
を使用
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
SOAPHeader header = message.getSOAPHeader();
marshaller.marshal(someObject, message.getSOAPBody());
message.saveChanges();
return message; //save it as request. for printing in logs
です。
ヘッダーはオプションでオプションです。あなたが必要とするならば、あなたは空白でないスペースや他のものをそこに置く必要があります。 – stdunbar
あなたはそれを答えとしてどうやって説明できますか? @stdunbar –