on 11-22-2011 4:24 PM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.