0
私はベロシティテンプレートを使用してSOAPリクエストを作成します。 jax-wsフレームワークを使用してWebサービスクライアントを実装しています。 アウトバウンドメッセージを傍受するSOAP Handlerを配線しました。SOAPHandlerのSOAP要求からボディ要素を再配置する際のエラー
私はボディの内容を計算した新しいボディに置き換えようとしています。
私は私のハンドラに次のコードを使用します。
public boolean handleMessage(SOAPMessageContext context) {
boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
try {
if (outbound) {
SOAPMessage msg = context.getMessage();
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
SOAPBody body = env.getBody();
body.normalize();
System.out.println(body.getValue());
NodeList list = body.getElementsByTagName("template");
if(list.getLength() > 0) {
Element template = (Element) list.item(0);
if (template != null) {
String newBody = StringEscapeUtils.unescapeHtml(template.getTextContent());
Document bodyElement = XmlUtils.getDocumentFromText(newBody);
body.removeContents();
body.addDocument(bodyElement);
私はそれを実行すると、私は次のエラーを取得する:
私はXMLテキスト内から本文の内容を変更するにはどうすればよいorg.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
あまりにも面倒なことなしに?
ありがとうございます!