79182446

Date: 2024-11-12 19:23:00
Score: 2
Natty:
Report link

@aled Thank you for your answer! I found it extremely helpful, even though I was barking up the wrong tree and asking the wrong questions. The solution I found was to add another ee:transform component after the wsc:consume component. I was also able to simplify my existing ee:transform so that I didn't have to map each individual element. The Add:\soapkit-config flow now looks like this:

<flow name="Add:\soapkit-config">
    <ee:transform doc:name="Transform Input">
        <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0
                output application/xml
                ns ns0 http://tempuri.org/
                ---
                payload.body]]></ee:set-payload>
        </ee:message>
    </ee:transform>
    <wsc:consume config-ref="Web_Service_Consumer_Config" operation="Add" doc:name="Outside Consumer" />
    <ee:transform doc:name="Transform Output">
        <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0
                output application/xml
                ns ns0 http://tempuri.org/
                ---
                payload.body]]></ee:set-payload>
        </ee:message>
    </ee:transform>
</flow>

When I put logging components in, I can see that after the Transform Output, the payload looks like this:

<?xml version='1.0' encoding='UTF-8'?>
<AddResponse xmlns="http://tempuri.org/">
    <AddResult>579</AddResult>
</AddResponse>

... then control flows back to the SOAP Router which puts the payload into a SOAP Body, so it looks like this:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    <soap:Body>
        <AddResponse xmlns="http://tempuri.org/">
            <AddResult>579</AddResult>
        </AddResponse>
    </soap:Body>
</soap:Envelope>
Reasons:
  • Blacklisted phrase (0.5): Thank you
  • Long answer (-1):
  • Has code block (-0.5):
  • User mentioned (1): @aled
  • Self-answer (0.5):
  • Looks like a comment (1):
  • Low reputation (0.5):
Posted by: Norman Lynch