cancel
Showing results for 
Search instead for 
Did you mean: 

HTTP Status Code 200 : Proxy to PI 7.4(Single Stack Java)

former_member435532
Participant
0 Kudos

Hello All,

I am facing some issue during proxy communication with message erroring out with http status code 200. have checked alll the related post for the same error but could not fix it. This is the first time we are using Proxy scenario so i am assuming i am doing something wrong.

Scneario: SAP->PI->leagcy sytem.

ESR: i created 2 data type, 2 mt, 2 SI and one operation mapping and message mapping. to get data from SAP it is outbound service interface with asynchronous communication.

ID,:

I created one business component (legacy system) and R/3 is business system.

Created communication channel sender for getting data from SAP R/3 with SOAP adapter type->http as transfer protocol-Message protocol XI 3.0.

crated ICO , filling all the details sender(r/3) with coummunciation chanel etc.

When i trigger the proxy from SAP R/3 the message shows in SXMB_MONI(status detials column with text " error parsing the PI response")

when i drill down it shows details as shown in attachment.

Can you please guide me what i am doing wrong.

Regards/Ajay

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hello Ajay,

Below are the further possibilities.

If yet all the there was any XML format issue, please take the predefined payload(May be from Mapping) and transfer the data directly from SPROXY Transaction.

Go to SPROXY->Open your SI where you created the proxy->Click on Test button->Paste the payload and Execute(This test is just to test weather the actual proxy is triggering the proper payload or not).

Since you are using the proxy scenario on Java only Stack for the first time, you have check below configurations on ECC.

1. RFC Destination(G-Type) using SM59.

2. Integration Engine Configuration using SXMB_ADM.

3. Sender/Receiver ID using SXMSIF.

From PI:

1. Transport Protocol in SOAP Sender channel is HTTP.

2. Message Protocol is XI 3.0.

3. Within the module tab, you need to set the following parameters for XISOAPAdapterBean Module if you are using asynchronous commutation.   

    ignoreDuplicate= true  and  generateSysAck= true.

Please let me know accordingly.

Thanks

Venkat

former_member435532
Participant
0 Kudos

Hello Venkat,

thanks.

I have already done everything as you mentioned in your post. FOR XML payload i took it from the test fuction of my message mapping (ESR) and executed it in SPROXY. no error recieved during executioin but it still did not go to PI. SXMB_MONI still shows the same error.

Regards/Ajay

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Ajay,


I have already done everything as you mentioned in your post. FOR XML payload i took it from the test fuction of my message mapping (ESR) and executed it in SPROXY. no error recieved during executioin but it still did not go to PI. SXMB_MONI still shows the same error.

Can you execute SLDCHECK in ECC? Also, when executing the proxy, have you executed the COMMIT WORK option?

Regards,

Mark

Answers (5)

Answers (5)

0 Kudos

Hi Ajay,

As mentioned by Mark, please make sure you are performing "Trigger Commit Work" and check the SLDCHECK.

If you still see the same issue, please regenerate the proxy and try again to execute the proxy.

Thanks

Venkat B.

former_member435532
Participant
0 Kudos

Hello All,

thanks for all your inputs , the issue was with the http destination to PI. Commit work everything was done ...

RFC Destination(G-Type) using SM59.


there werer duplicate entries, one G and one with H type. once i have removed the H type , everything went smoothly.

The

former_member182412
Active Contributor
0 Kudos

Hi Ajay,

Check the trace for more information about the error.

1064346 - Improved error output for connection problems

Regards,

Praveen.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

In the SM59 destination, have you added ximessage=true?

Also in the module configuration for the sender channel generateSysAck should be set to true since you are using async communication.

Please see

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef4...

Regards,

Mark

former_member435532
Participant
0 Kudos

Hello Mark,

Yes, both the things are correct and i have already done it.

Regards/Ajay

former_member186851
Active Contributor
0 Kudos

Hello Ajay,

I Guess your XML is not well formatted.

Was it showing any error in SPROXY?

iaki_vila
Active Contributor
0 Kudos

Hi,

I agree with Raghuraman, the issue seems to be in the XML format. Try to take the XML from the sxi_monitor in the inbound message on the ECC or the outbound message in PI, later try to validate it against the schema that you have defined like the request in the receiver interface in PI (Free Online XML Validator Against XSD Schema - FreeFormatter.com)

Regards.

former_member435532
Participant
0 Kudos

Hello raghu,

I can see the data which was passed in SSXMB_MONI, when i drill down to the failed message..

under payloads;-: main document(application/xml).

former_member186851
Active Contributor
0 Kudos

Hello Ajay,

That's fine.

If the XML is not well formatted you can see red tags in Sproxy test message only.

Are you seeing XML in correct format in payloads?

JaySchwendemann
Active Contributor
0 Kudos

Hi Ajay,

the error in SXMB_MONI in ECC (R/3) is "error parsing PI response" so I'm assuming that the message was routed through PI, reached your (restful) endpoint and got an response.

You should best see this response within PI message monitoring if your logging options of the ICO within PI are set accordingly. However, I've had troubles in the past to set this up on error state, so maybe someone may chime in here.

I'm not too familiar with the REST adapter, I'm afraid. But my guts feeling is, that PI then should handle the message format (XML or JSON), convert (to XML) if necessary, map, and route through ECC with a proper Soap Envelope then (actually a special SAP enhanced Soap Envelope which is the XI protocol , but that's not of interest right now)

...

I would suggest giving XPI Inspector (example 50) a try, maybe there's some more insight available after that.

Cheers Jens

JaySchwendemann
Active Contributor
0 Kudos

Ajay,

looks like your legacy receiver system does not send back a soap message but (plain) XML.

You could do the following to narrow this error down:

1. Open ICO in PI and set logging option to always log

2. If you don't see the response then in PI, take the request after the mapping step from pi, paste that into soapUI or any other soap or rest testing tool and fire that at your legacy third party service

3. I assume you  will get back a plain XML

4. You would then need to switch the receiver channel to http_aae or use soap channel with option "do not use soap envelope"

Please come back if this doesn't help

Cheers

Jens

former_member435532
Participant
0 Kudos

Hello Jens,

Looks like my explanation was not clear.

I am not able to see the message in PI itself. data is coming through  SAP proxy using SOAP adapter.

On R/3 side(SXMB_MONI) the messsage shows with status details(Error parsing PI response).

Isn't somehthing missing between SAP R/3 and PI?

Regards/Ajay

former_member435532
Participant
0 Kudos

Btw, i am using rest adapter on the receiver side as from the in API documentation it is mentioned that they support it.

SAP Proxy(SOAP)->PI->Legacy system(Rest adapter).