1

次の SOAP リクエストで、すべての名前空間プレフィックス「bim」を削除する必要があります。SOAPハンドラhandleMessage内でそれを行うにはどうすればよいですか?

<bim:AuthorizationInfo>
    <!--Optional:-->
    <bim:ApplicationId>123</bim:ApplicationId>
    <!--Optional:-->
    <bim:UserId>123</bim:UserId>
    <!--Optional:-->
    <bim:Userid>123</bim:Userid>
    <bim:Password>123</bim:Password>
</bim:AuthorizationInfo>

このコードは機能していません:

SOAPMessage soapMsg = context.getMessage();
SOAPEnvelope envelope = soapMsg.getSOAPPart().getEnvelope();
javax.xml.soap.SOAPBody body = envelope.getBody();
@SuppressWarnings("rawtypes")
Iterator iter = body.getChildElements();
while (iter.hasNext()) {
    Object object = iter.next();

    if (object instanceof SOAPElement) {
        SOAPElement element = (SOAPElement) object;
        element.removeNamespaceDeclaration(element.getPrefix());
        element.setPrefix("");
    }
}
4

0 に答える 0