SOAP Service call Issue

Hello,

I am currently trying to make SOAP call to Oracle Right Now(ORN) Enterprise. ORN provides WSDL however I was not able to connect to the WSDL via Web Service smart node, getting 'An error occurred while processing the WSDL. It may not be a valid WSDL 1.1 document. (APNX-1-4041-002)'. tried with third party SOAP test tool and it worked. I am guessing the WSDL is currently not supported by Appian.

Is there an another way to make SOAP call other than Web service smart node?

I was looking into 'Send HTTP Request Plug-in' plug in. The plug in description says it supports to send SOAP XML to a Web Service but didn't provide further instructions. 

If someone can provide more high level details implementation direction or any other approach that I can try, I would really appreciated.

FYI, the following is the example SOAP XML provided ORN for the operation I want to use.

<soapenv:Envelope xmlns:soapenv='schemas.xmlsoap.org/.../'>
    <soapenv:Header xmlns:rnm='urn:messages.ws.rightnow.com/v1_3'>
        <rnm:ClientInfoHeader>
            <rnm:AppID>IncidentResponse001.xml</rnm:AppID>
        </rnm:ClientInfoHeader>
        <wsse:Security soapenv:mustUnderstand="false"
			xmlns:wsse="docs.oasis-open.org/.../oasis-200401-wss-wssecurity-secext-1.0.xsd"
			xmlns:wssu="docs.oasis-open.org/.../oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:UsernameToken>
                <wsse:Username>admin123</wsse:Username>
                <wsse:Password wsse:Type="docs.oasis-open.org/.../oasis-200401-wss-username-token-profile-1.0
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
        <rnm:SendIncidentResponse
        		xmlns:soapenc='schemas.xmlsoap.org/.../'
        		xmlns:xs='www.w3.org/.../XMLSchema'
        		xmlns:xsi='www.w3.org/.../XMLSchema-instance'
        		xmlns:rnm='urn:messages.ws.rightnow.com/v1_3'
        		xmlns:rno='urn:objects.ws.rightnow.com/v1_3'
        		xmlns:rng='urn:generic.ws.rightnow.com/v1_3'
        		xmlns:rnb='urn:base.ws.rightnow.com/v1_3'
        		xmlns:rnok='urn:base.ws.rightnow.com/v1_3'>
            <rnm:IncidentResponse>
                <rno:Incident>
                    <rno:PrimaryContact>
                        <rno:Contact>
                            <rnb:ID id="1"/>
                        </rno:Contact>
                    </rno:PrimaryContact>
                    <rno:Subject>Overheating of the device</rno:Subject>
                    <rno:Threads>
                        <rno:ThreadList action='add'>
                           <rno:Channel>
                           	<rnb:Name>Email</rnb:Name>
                           </rno:Channel>
                            <rno:EntryType>
                                <rnb:ID id='2'/>
                            </rno:EntryType>
                            <rno:Text>Thank you for reaching out!</rno:Text>
                        </rno:ThreadList>
                    </rno:Threads>
                </rno:Incident>
                <rno:CC>
                    <rno:EmailAddresses>bob@example.com</rno:EmailAddresses>
                </rno:CC>
            </rnm:IncidentResponse>
        </rnm:SendIncidentResponse>
    </soapenv:Body>
</soapenv:Envelope>
Parents Reply
  • Hi

    You can usually use the HTTP Request route for WSDL's that Appian can't handle. I have done this a few times when the WSDL contained types that Appian did not like.

    The easiest way to go about this is to load your WSDL into SOAPUI or another application meant for testing services. You can pull out the raw XML request body from SOAPUI and throw that into the body input of the Send HTTP Request plug-in.
Children

 Discussion posts and replies are publicly visible