IBM BUS 更改响应的 Soap 命名空间

IBM BUS Change Soap Namespace of Responce

我的肥皂反应卢克

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <Response xmlns="http://tempuri.org/">
            <Result>
                <Result>LOGON FAILED</Result>
            </Result>
        </Response>
    </soapenv:Body>
</soapenv:Envelope>

但是,我需要更改命名空间和响应的前缀,就像这个一样。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <Response xmlns="http://tempuri.org/">
            <Result>
                <Result>LOGON FAILED</Result>
            </Result>
        </Response>
    </soapenv:Body>
</soap:Envelope>

如果您使用 ESQL 来构造您的消息,您可以按照此处所述进行操作:

https://www.ibm.com/support/knowledgecenter/SSKM8N_8.0.0/com.ibm.etools.mft.doc/ac67194_.htm

DECLARE soapNs NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
DECLARE tempNs NAMESPACE 'http://tempuri.org/';

SET OutputRoot.XMLNSC.soapNs:Envelope.(XMLNSC.NamespaceDecl)xmlns:soap = soapNs;
SET OutputRoot.XMLNSC.soapNs:Envelope.soapNs:Body.tempNs:Response.(XMLNSC.NamespaceDecl)xmlns = tempNs;
SET OutputRoot.XMLNSC.soapNs:Envelope.soapNs:Body.tempNs:Response.tempNs:Result.tempNs:Result = 'LOGON FAILED';

但是,命名空间标签的值应该不会有什么不同。