cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP call using PI 7.3

Former Member
0 Kudos

I am attempting the following scenario: File - PI - SOAP

In ESR, I created an external definition for the wsdl, an SI based on the operation I want to call, a message mapping, and an OM. In ID, I created an Integrated Configuration where Inbound Processing contains my CC to retrieve the file, Receiver Interface contains my OM, and Outbound Processing contains my SOAP CC.

The SOAP CC is set up as follows:

Target URL - https://server.com/NEXUSe2e/webservice/NEXUSe2eInterface

SOAP Action - http://integration.nexuse2e.org/NEXUSe2eInterface/sendNewStringMessage1

When I run through the scenario, I get a soap error in the adapter engine."SOAP: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error Application/UNKNOWN/APPLICATION_ERROR - application fault"

I looked at the soap document in the adapter engine.

- <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

- <SOAP:Header>

- <sap:Main xmlns:sap="http://sap.com/xi/XI/Message/30" versionMajor="3" versionMinor="1" SOAP:mustUnderstand="1">

<sap:MessageClass>ApplicationMessage</sap:MessageClass>

<sap:ProcessingMode>asynchronous</sap:ProcessingMode>

<sap:MessageId>82d11ae8-bfaf-4ced-04cc-d38f6d191799</sap:MessageId>

<sap:TimeSent>2011-11-22T14:59:11Z</sap:TimeSent>

- <sap:Sender>

<sap:Party agency="http://sap.com/xi/XI" scheme="XIParty" />

<sap:Service>BC_Test</sap:Service>

</sap:Sender>

- <sap:Receiver>

<sap:Party agency="http://sap.com/xi/XI" scheme="XIParty" />

<sap:Service>BC_Test</sap:Service>

</sap:Receiver>

<sap:Interface namespace="http://CF/test">OrderResponse</sap:Interface>

</sap:Main>

- <sap:ReliableMessaging xmlns:sap="http://sap.com/xi/XI/Message/30" SOAP:mustUnderstand="1">

<sap:QualityOfService>ExactlyOnce</sap:QualityOfService>

</sap:ReliableMessaging>

- <sap:DynamicConfiguration xmlns:sap="http://sap.com/xi/XI/Message/30">

<sap:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">OrderResponse_test.xml</sap:Record>

<sap:Record namespace="http://sap.com/xi/XI/Message/30/routing" name="InterfaceDeterminationHash">aa17c32cf7c5fd5a0286adb55f74ec67</sap:Record>

<sap:Record namespace="http://sap.com/xi/XI/System/File" name="Directory">D:\usr\sap\CID\DVEBMGS00\data</sap:Record>

<sap:Record namespace="http://sap.com/xi/XI/Message/30/general" name="senderAgreementGUID">f01be42d4b3f3140908017897181e196</sap:Record>

</sap:DynamicConfiguration>

- <sap:System xmlns:sap="http://sap.com/xi/XI/Message/30" SOAP:mustUnderstand="1">

<sap:Record namespace="http://sap.com/xi/XI/Message/30/general" name="interfaceDeterminationGUID">e7f7ec42151911e1935400000056316e</sap:Record>

<sap:Record namespace="http://sap.com/xi/XI/Message/30/general" name="senderAgreementGUID">f01be42d4b3f3140908017897181e196</sap:Record>

</sap:System>

- <sap:HopList xmlns:sap="http://sap.com/xi/XI/Message/30" SOAP:mustUnderstand="1">

- <sap:Hop timeStamp="2011-11-22T14:59:11Z" wasRead="false">

<sap:Engine type="AE">af.cid.cfsappid1</sap:Engine>

<sap:Adapter namespace="http://sap.com/xi/XI/System">XIRA</sap:Adapter>

<sap:MessageId>82d11ae8-bfaf-4ced-04cc-d38f6d191799</sap:MessageId>

</sap:Hop>

</sap:HopList>

</SOAP:Header>

- <SOAP:Body>

- <sap:Manifest xmlns:sap="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink">

- <sap:Payload xlink:type="simple" xlink:href="cid:payload-8922e259151a11e1ca8800000056316eatsap.com">

<sap:Name>MainDocument</sap:Name>

<sap:Description />

<sap:Type>Application</sap:Type>

</sap:Payload>

</sap:Manifest>

</SOAP:Body>

</SOAP:Envelope>

The payload contains the original message, not the mapped message that I expected.

The expected soap request (created from xml spy) is

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<SOAP-ENV:Body>

<m:sendNewStringMessage1 xmlns:m="http://integration.nexuse2e.org">

<choreographyId>String</choreographyId>

<businessPartnerId>String</businessPartnerId>

<actionId>String</actionId>

<conversationId>String</conversationId>

<payload>String</payload>

</m:sendNewStringMessage1>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

ANy idea why this isn't working?

Larry

Accepted Solutions (0)

Answers (1)

Answers (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Few tips:

1) Check your mapping object and see it returns any error during testing.

2) Test the wsdl using xmlspy (outside pi) and see whether your target url and action is valid

3) action is not mandatory. if you dont need just say blank. Don't input anything and test.

Former Member
0 Kudos

1) Check your mapping object and see it returns any error during testing.

When I perform a test of the mapping, everything works fine. In my interface, it's almost like the mapping isn't being called.

2) Test the wsdl using xmlspy (outside pi) and see whether your target url and action is valid

I used soapclient.com, and it worked perfectly.

3) action is not mandatory. if you dont need just say blank. Don't input anything and test.

I've tried blank, with data, with bad data. Always get the same results.