最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

ibm bpm - How to constructsend SOAP request in IBM BPM - Stack Overflow

programmeradmin10浏览0评论

I would like to either construct/send SOAP request using IBM BPM for the below SOAP UI request:

<soapenv:Envelope xmlns:soapenv="/" 
xmlns:ns=";
  xmlns:xsi="; 
  xmlns:xsd=";
  xmlns:wsse=".0.xsd" 
  xmlns:wsu=".0.xsd">


<soapenv:Header>
      <ns:SendStreamRequestTrackingID>ab80199e-b12b-4533-9f6a-57f064695a43</ns:SendStreamRequestTrackingID>
      <wsse:Security mustUnderstand="true">
          <wsse:UsernameToken>
              <wsse:Username>XXX</wsse:Username>
              <wsse:Password Type=".0">XXX</wsse:Password>
              <wsse:Nonce EncodingType=".0#Base64Binary">NWQyMzVjNGNhYmIxMTQ1ZjEzZWVlYzcyZDkzZjcwODI=</wsse:Nonce>
              <wsu:Created>2015-07-27T15:47:31.178534Z</wsu:Created>
          </wsse:UsernameToken>
       </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <ns:SendStreamRequest>
         <!--Optional:-->
         <ns:Payload>
            <!--Zero or more repetitions:-->
            <Message ApplicationCode="XXX" ClientID="XXXXX" TrackingID="ab80199e-b12b-4533-9f6a-57f064695a43" SchemaName="XXX" SchemaType="Xml" EmailSubject="" FileName="">H4sIAAAAAAAAAJ1TXW+CMBR9N9l/MLxrC9NsI7XJFI1kS5YNt/cGb4QECilV9N+vLQOx8rQ37jnn
fpzby4h88/QEomJZyCWIOGH8AGONpAVfOO7UdcbnPOPVwkmkLH2E6rqexkwcijqtYBoXOYriBHJW
oa4U8rDrItd16Gg8JltgexD6UwURcBWEAQ2XS4K6qCG/IE7LFLhUSLD5CLbvwecrQX1YF0TXimRZ
7C+U8MrvmkdJWuZKPGTC/6+PB91L5bfFDdBAAZNsVajlnVu0wdd6n6VQxRs3BNlgXx2BOJlNGMd9
oK/SvXZqZpCrIssglspfJ7AlPaKhdpcS6KYQNRP7lB9aL6ad4eyEN7jQyJth7OKZO38yQo31OqLh
lhZ+N23H327uzwAMuGspy66ZO4CSCXkUMGRFq8JqXck01+lSHBtZD7sV/7DsCNTD3myCnyce3nmP
/vzFx9ikNaztEyxftoPmSa/HY+K7k6UEmXtW9NBvSX8BUyTKQ64DAAA=</Message>
         </ns:Payload>
      </ns:SendStreamRequest>
   </soapenv:Body>
</soapenv:Envelope>

When I imported the WSDL url, it showed the operations and also created the input mappings but I am not sure as to how I need to send the encoded message element in IBM BPM.

I got a suggestion from one of my colleagues as to how this can be done using JS but not sure if this can be used in IBM BPM - need inputs pls..

async function sendSoapRequest() {
const url = "http://your-service-url"; // Replace with your actual service URL

const xmlData = `
    <soapenv:Envelope xmlns:soapenv="/" 
        xmlns:ns=";
        xmlns:xsi="; 
        xmlns:xsd=";
        xmlns:wsse=".0.xsd" 
        xmlns:wsu=".0.xsd">
        <soapenv:Header>
            <ns:SendStreamRequestTrackingID>ab80199e-b12b-4533-9f6a-57f064695a43</ns:SendStreamRequestTrackingID>
            <wsse:Security mustUnderstand="true">
                <wsse:UsernameToken>
                    <wsse:Username>XXX</wsse:Username>
                    <wsse:Password Type=".0">XXX</wsse:Password>
                    <wsse:Nonce EncodingType=".0#Base64Binary">NWQyMzVjNGNhYmIxMTQ1ZjEzZWVlYzcyZDkzZjcwODI=</wsse:Nonce>
                    <wsu:Created>2015-07-27T15:47:31.178534Z</wsu:Created>
                </wsse:UsernameToken>
            </wsse:Security>
        </soapenv:Header>
        <soapenv:Body>
            <ns:SendStreamRequest>
                <ns:Payload>
                    <Message ApplicationCode="XXX" ClientID="XXX" TrackingID="ab80199e-b12b-4533-9f6a-57f064695a43" SchemaName="XXX" SchemaType="Xml" EmailSubject="" FileName="">
                        H4sIAAAAAAAAAJ1TXW+CMBR9N9l/MLxrC9NsI7XJFI1kS5YNt/cGb4QECilV9N+vLQOx8rQ37jnn
                        fpzby4h88/QEomJZyCWIOGH8AGONpAVfOO7UdcbnPOPVwkmkLH2E6rqexkwcijqtYBoXOYriBHJW
                        oa4U8rDrItd16Gg8JltgexD6UwURcBWEAQ2XS4K6qCG/IE7LFLhUSLD5CLbvwecrQX1YF0TXimRZ
                        7C+U8MrvmkdJWuZKPGTC/6+PB91L5bfFDdBAAZNsVajlnVu0wdd6n6VQxRs3BNlgXx2BOJlNGMd9
                        oK/SvXZqZpCrIssglspfJ7AlPaKhdpcS6KYQNRP7lB9aL6ad4eyEN7jQyJth7OKZO38yQo31OqLh
                        lhhZ+N23H327uzwAMuGspy66ZO4CSCXkUMGRFq8JqXck01+lSHBtZD7sV/7DsCNTD3myCnyce3nmP
                        /vzFx9ikNaztEyxftoPmSa/HY+K7k6UEmXtW9NBvSX8BUyTKQ64DAAA=
                    </Message>
                </ns:Payload>
            </ns:SendStreamRequest>
        </soapenv:Body>
    </soapenv:Envelope>
`;

const response = await fetch(url, {
    method: 'POST',
    headers: {
        'Content-Type': 'text/xml',
        'SOAPAction': '' // Add SOAPAction if required by the service
    },
    body: xmlData
});

if (response.ok) {
    const responseText = await response.text();
    console.log("Response received:", responseText);
} else {
    console.error(`Failed to send SOAP request. Status code: ${response.status}`);
}

}

sendSoapRequest();

发布评论

评论列表(0)

  1. 暂无评论