I created a rest to soap to rest proxy in apigee from the following wsdl - https://ws5.responsys.net/webservices/wsdl/ResponsysWS_Level1.wsdl
Apigee automatically added Assign Message Policies to the endpoints. Making a request to one of the endpoints, eg /login works fine and sends the following payload:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><login xmlns="urn:ws.rsys.com"><username>test</username><password>test</password> </login> </soap:Body> </soap:Envelope>
However, as soon as I make any changes to the assign message policy content (issue persists even after changes have been reverted), the soap namespace is removed from the payload causing requests to fail:
<Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Body><login xmlns="urn:ws.rsys.com"><username>test</username><password>test</password> </login> </Body> </Envelope>
Does anyone know what causes this? Is it a bug in the ui editor? The assign message policy content is below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="true" enabled="true" name="login-build-soap">
<DisplayName>login Build SOAP</DisplayName>
<Add>
<Headers>
<Header name="SOAPAction"/>
</Headers>
</Add>
<Set>
<Headers>
<Header name="Content-Type">text/xml; charset=utf-8</Header>
</Headers>
<Payload contentType="text/xml">
<Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<login
xmlns="urn:ws.rsys.com">
<!--Required-->
<username>{username}</username>
<!--Required-->
<password>{password}</password>
</login>
</Body>
</Envelope>
</Payload>
<Verb>POST</Verb>
</Set>
<AssignVariable>
<Name>forward.target.url</Name>
<Value>https://ws5.responsys.net/webservices/services/ResponsysWSService</Value>
</AssignVariable>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>
User | Count |
---|---|
3 | |
2 | |
1 | |
1 | |
1 |