Oracle SOA Suite 12c使用其他SOAP标头调用外部服务

时间:2019-06-13 04:42:44

标签: soap soa bpel soa-suite

在一个业务场景中,我必须使用Oracle SOA Suite 12c调用使用其他SOAP标头参数的客户端SOAP服务。当我通过SOAP UI独立测试Web服务时,它在下面的架构中显示为输入-

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://xmlns.client.org/Schema/Common/1.0/Common.xsd" xmlns:user="http://xmlns.uppcl.org/Schema/UserAccess/2.0/UserAccess.xsd">
   <soapenv:Header>
   <wsse:Security xmlns:wsse="http://docs.demo-open.org/wss/2004/01/demo-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken xmlns:wsu="http://docs.demo-open.org/wss/2004/01/demo-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>DemoUser</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Demo@123</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
      <com:TransactionReference>
         <com:SourceSystemId>TXNSYSID</com:SourceSystemId>
         <com:TxID>0403216376127836</com:TxID>
         <!--Optional:-->
         <com:BusinessID>DTUIQS</com:BusinessID>
      </com:TransactionReference>
   </soapenv:Header>
   <soapenv:Body>
      <user:CheckUserRequest>
  <user:UserId>USER_ID</user:UserId>
  </user:CheckUserRequest>

我们可以看到其他标题元素wsse:安全性> UsernameToken>用户名/密码,TransactionReference> SourceSystemId / TxID / BusinessID作为XML节点。

此外,我在SOA组合中配置了SOAP适配器,但是它只有一个输入参数UserId。现在我无法弄清楚如何在SOA头中传递SOA头中用于目标Web服务调用的其他头(用户名/密码,SourceSystemId / TxID / BusinessID)。

0 个答案:

没有答案