cancel
Showing results for 
Search instead for 
Did you mean: 

Message payload transformation

Former Member
0 Kudos

Hi All,

We are experiencing a problem in RFC to Soap(web service) scenario and web service is SAAS (Sales force) and its a "Asyncronous" Interface

We are in process of volume testing, when we trigger the data of 400 records the RFC calls successfully creates accounts in Salesforce but when we try with 500 records it throws an error : Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error


SXMB_MONI shows message is processed but it fails in CC channel monitoring

The payload format changes  from 400 records to 500 records in RWB CC monitoring

When we see the payload for 400records in CC monitoring in RWB it shows in xml format

When we see the payload for 500 records in CC monitoring in RWB it shows in text format

The current "transform.content type" is text/xml

When we copy the failed message from CC in RWB and test it from soap ui it sucessfully updates the 500 records

the size of the message is less than 1 mb

Please look into attachment for screen shot

Any suggestions would be appreciated

Thanking you

Sudheer

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI All,

I found the problem

Out of 500 records,one of the record with field called "xyz" has invalid charecter and xml could not parse it, I used replace string and it fixed the issue

Anyway...Thanks to all the participants

Answers (3)

Answers (3)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

It looks like a timeout issue, increase your HTTP Keep Alive in SMICM as described in this document

http://scn.sap.com/docs/DOC-16238

e.g PI times out or closes the connection just before it finishes processing your request. This could also be the reason why it is succeeding at 400records vs 500records. See section 2.2.1 for more information.

Try seeing how much time it consumes using SOAP UI and then adjust your icm settings accordingly. Just to be safe, synchronize the icm settings of your PI and ECC.

Hope this helps,

Mark

iaki_vila
Active Contributor
0 Kudos

Hi Sudherr,

I've seen this problem sometimes when the data is not like the receiver expected, for example in the endpoint is generated an exception because one tag is missed or numeric value is incorrect, it's required some namespaces in the soap envelope, etc

You could check if the data is adjusted to the webservice schema endpoint. The biggest issue is if you dont have this support, you only chance then is to play with the data, for example changing the amount format.

Also if you have an WSDL you could try with the soapui application, if the call is ok you can check the format call with yours.

Regards.

Former Member
0 Kudos

Hi.

The status  500 means Internal server error (Web Service - Target Server) has problem of processing the messages.

Pls .  Check the default trace file of the Java Engine using the SAP NetWeaver Administrator.

Regards