JavaとSpring-wsを使用してWebサービスを構築しています。1つを除いて、正常に動作しています。
SOAP本体内に配置するペイロードを組み立てるときに、CDATAエスケープ文字列を含めたいと思います。これが私が結果をどのように見せたいかです:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://example.com/ns">
<soapenv:Header/>
<soapenv:Body>
<_0:Message>
<_0:StringPayload><![CDATA[<myxml>stuff</myxml>]]></_0:StringPayload>
</_0:Message>
</soapenv:Body>
</soapenv:Envelope>
ただし、Spring-WSは、SOAPエンベロープを追加するときにペイロードを改ざんしているようです。これは私が得る結果です:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:_0="http://example.com/ns">
<soapenv:Header/>
<soapenv:Body>
<_0:Message>
<_0:StringPayload><myxml>stuff</myxml></StringPayload>
</_0:Message>
</soapenv:Body>
</soapenv:Envelope>
Spring WSがXML文字をエスケープせず、CDATAタグを尊重しないようにする方法はありますか?
私はSpringWSをApacheCamelと一緒に使用しているので、spring-wsクラスを変更/拡張する必要がないソリューションが好まれます。