on 11-04-2011 9:19 AM
Hi there,
I'm quite new to SAP PI and I've got the following synchronous scenario:
SAP ECC ->SOAP -> PI -> SOAP -> non-SAP
I've created a proxy on our ECC system for calling the PI web service.
When I try to execute the web service using ABAP code, I can see the following XML message in PI:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Inbound Message -->
<SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 definitions; HTTP 200 OK</SAP:AdditionalText>
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
When I try to call the target WS via SOAP UI, I don't see that message.
Could it be, that the target WS is not in the format that PI is expecting?
Thanks in advance.
I've now seen that a CX_AJ_SYSTEM_FAULT exception is thrown when calling the execute_synchronous method in my ABAP coding.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The issue is still unresolved.
I've done some testing via SOAP UI:
1.) Calling the final WS without using PI works.
2.) If I import the WSDL from the sender agreement into SOAP UI (we've PI 7.11), it creates the request etc.
But if I put in the same payload as under 1.), it gives me the following error message:
com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=SAPT01;TS=BS_eTravel;AN=SAP2eTravel_Add_OUT;ANS=urn:sap.mdm_eTravel;
As endpoint of the WS I use
When calling the PI WS via ABAP proxy, it still raises the CX_AJ_SYSTEM_FAULT exception without any details.
In SXI_MONITOR I see the error message:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 definitions; HTTP 200 OK
If I use the Test Configuration Tool in Integration Builder, it only gives me green lights...
Thanks in advance!
If you create WSDL from sender agreement you might get the above error when tesing using XMLSPY Or SOAPUI. BUt SOAPSONAR gives no error. I have noticed that.
I would recommend you to try create WSDL using below link (see soap sender part) and test via SOAPUI.
Thanks!
After having changed the URL in SOAP UI to the format http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?
channel=:<service>:<channel>, I get now the same error in SOAP UI than using the ABAP code:
No SOAP Envelope but 1 definitions; HTTP 200 OK
So it seems, that this is the real issue...
Any suggestions how to solve that?
Could it be that the WS I'm calling is not compliant with the SAP standards?
If I call that WS directly from SOAP UI, there are no such problems.
Thanks in advance!
@Rodrigo: I've tried that now for the Receiver CC.
Then I get the following message:
Runtime Exception when executing application mapping program com/sap/xi/tf/_MM_SAP2eTr_Add_OUT_RESP_; Details: com.sap.aii.mappingtool.tf7.IllegalInstanceException; Cannot create target element /ns0:addMemberResponse. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD Thrown: com.sap.aii.ib.core.mapping.execution.
But as I wrote before, if I run the Test Configuration Tool with the same data, it doesn't give me any error message.
this error is related to response from the backend.
lets do this:
The result shows that WSDL URl in the soap receiver adapter is not fully write. correct it.
i want you to
a) Load WSDL in soap ui
b) fillup user and password
c) target url (the URL you defined in the receiver channel)
d) test it
if you get response fine, then copy the url used in soap ui and paste it in the soap receiver cc. you will be all set.
Rgds
RP
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
90 | |
10 | |
10 | |
10 | |
7 | |
7 | |
6 | |
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.