如何强制DataStage Web服务转换器使用此格式“ <soapenv:Envelope>”而不是此格式“ <Envelope xmlns =“ ...”>”?

时间:2019-10-30 14:52:00

标签: xml web-services webservice-client datastage

我无法使用Web Service Transformer通过DataStage调用WS。后端告诉我,由于消息格式与预期不同,请求失败。

期望类似:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://myNameSpace/">
  <soapenv:Header/>
  <soapenv:Body>
     <ns1:mySoapAction>
        <mySoapActionRequest>
           <serviceContext>
              <correlationId>Test</correlationId>
           </serviceContext>
           <myParam1>21</myParam1>
           <myParam2>814</myParam2>
           <myParam3>SVIL_2</myParam3>
        </mySoapActionRequest>
     </ns1:mySoapAction>
  </soapenv:Body>
</soapenv:Envelope>

DataStage发送类似以下内容的

<Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body xmlns="http://schemas.xmlsoap.org/soap/envelope/">
        <ns1:mySoapAction xmlns:ns1="http://myNameSpace/">
            <mySoapActionRequest xmlns="">
                <serviceContext><correlationId>Test</correlationId></serviceContext>
                <myParam1>21</myParam1>
                <myParam2>814</myParam2>
                <myParam3>SVIL_2</myParam3>
            </mySoapActionRequest>
        </ns1:mySoapAction>
    </Body>
</Envelope>

奇怪的是,即使我使用的“用户定义消息”恰好传递了第一个示例,也会发生这种情况。

现在,我读了另一个类似问题的主题: Is SOAP 1.1 envelope without namespace prefixes valid one?

并且我得出结论,服务器应该能够处理完请求,但是后端人员无法修复它,因此唯一的方法是强制DataStage使用他们期望的格式。 / p>

非常感谢!

0 个答案:

没有答案