Skip to Content
0

SOAP Receiver - 500 Internal server Error in SAP PO 7.5

Dec 15, 2017 at 09:51 AM

704

avatar image
Former Member

Hi All,

We have migrated one interface from SAP PI to PO.

This is a synchronous interface, we get the Request from the external webservice to PO and after processing, interface has to send the response back to the webservice.

SOAP Sender >PO > SOAP Receiver

The interface is working fine in PI 7.1 but the same configuration is not working in PO 7.5.

Error:

SOAP: Error occurred: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 500 Internal Server Error

We have checked the firewall settings and the certificates, content type and everything seems to be fine.

Please give me some inputs to resolve this issue.

Thanks,

Tinu

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Ariel M. Bravo Ayala Dec 15, 2017 at 02:17 PM
0

Hi Tinu,

As per the content type error, I think that you are getting an HTML as a response from the target system. I would check the receiver channel and the authentication.

Shall the error continues, you can use the tcpgateway to trace the request/response.

Best regards,

Ariel Bravo Ayala

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Ariel,

We have checked the port and it is open, and we are also getting the traffic from the external system.

How do we need to check if the content type that we are sending and the receiving system are same? I compared both PI and PO channels and both have the same settings.

Thanks,

Tinu

0
Andrzej Filusz Dec 15, 2017 at 10:13 AM
0

Hi Tinu,

First you should make sure that your flow really works. Please use SoapUI to perform some tests. Generate the WSDL file on PO and use it to create a project in SoapUI. Then modify the URL and put there your internal, local PO host name (or local IP). Perform a test. If you would receive the same error, then you would know it's not related to your firewall, certificates, etc. There is something wrong with your flow.

On the other hand, if there wouldn't be any errors then you would know that your flow is fine. Please disconnect from your local, internal network and connect to the network where you have a problem (the Internet? you can use your mobile phone, just make sure that this time you will be using your firewall). Please don't forget to change the PO host name to the original one in your URL. Perform a test using this configuration. Is it working or not? If not, then you will know it's related to your firewall configuration, certificates, etc. If it would be working then maybe someone, who tested it before, was using an incorrect URL (port?) or did an other mistake.

Regards,

Andrzej

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member
Hi Andrzej,

Thanks for your reply.

We wont be able to test the interface from SOAP UI because our external URL is HTTPS and which requires certificates to be imported in SOAP UI. We tried to trigger a message from RWB even those message failed with the same error.

Message is not reaching the end system.

Thanks,

Tinu

0

Hi Tinu,

I thought your sender couldn't connect with PO. Now as I understand your PO can't send messages to the receiver. Could you please check if there are any details related to this error message you received? Are you able to check the receiver side? What is it? An SAP system? Are you using ABAP proxy objects? Any errors there? Dumps?

BTW, are you sure that your receiver SOAP com. channel has the correct configuration?

Regards,

Andrzej

0
Evgeniy Kolmakov Dec 15, 2017 at 07:05 PM
0

Hi Tinu!

I would suggest to enable HTTP tracing in your receiver channel and to check that logs for response message contents.

Regards, Evgeniy.

Show 5 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Evgeniy,

We have enabled the logs in ICO and even that is not giving much information on the error message.

This is the logs that we are getting,

12/01/2017 11:58:27.623ErrorFailed to call the endpoint: Error in call over HTTP: HTTP 500 Internal Server Error12/01/2017 11:58:27.623ErrorSOAP: Call failed: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 500 Internal Server Error12/01/2017 11:58:27.627ErrorSOAP: Error occurred: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: HTTP Error response for SOAP request or invalid content-type.; HTTP 500 Internal Server Error

Thanks,

Tinu

0

Hi Tinu!

When HTTP tracing is enabled you should get access to response message contents. If you can, you could analyze HTTP response to figure out the error reason. For example, I had a similar error once ago and from response contents I was able to find out that PI returns HTTP window for user's password change instead of normal response.

By the way, I didn't mean the logging option in iCo. I'm talking about TraceHTTP module parameter for SOAP receiver adapter:

https://blogs.sap.com/2015/10/26/http-tracing-in-soap-receiver-adapters-with-tracehttp-module-parameter/

Regards, Evgeniy.

0
Former Member
Evgeniy Kolmakov

Hi Evgeniy,

We have enabled the HTTP tracing in the channel and below is the request and response message, I guess there is an issue with the content type.

CLIENT: 57400 REQUEST: - 428 bytes:

POST /ca/services/Notification HTTP/1.0
Accept: */*
Host:
User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505
CallingType: SJM
Authorization:*********
Content-ID: <payload-3954a439e4b411e7c7d10000001b676e@sap.com>
Content-Disposition: attachment;filename="MainDocument.xml"
Content-Type: application/xml;charset=utf
Content-Description: MainDocument
Content-Length: 1399
SOAPACTION: "sendNotification"

CLIENT: 54535 RESPONSE: - 330 bytes:

HTTP/1.1 500 Internal Server Error
Date: Tue, 19 Dec 2017 12:03:38 GMT
Server: Apache
Strict-Transport-Security: max-age=31536000
Set-Cookie: JSESSIONID=069EBF0BAE05D4F40B249526AE76013E.test1e; Path=/ca; Secure; HttpOnly
Content-Language: en-GB
Content-Length: 23
Connection: close
Content-Type: text/plain;charset=UTF-8

Error :

Please specify a method#

Thanks,

Tinu


0

Hi Tinu!

As you can see from response message server responded: "Please specify a method#". I guess you should cross-check if the correct SOAP action with namespace is used and if the message type for receiver operation has correct name and namespace. Also you could check the service using SOAP UI.

Regards, Evgeniy.

0
Former Member

Hi Evgeniy,

We are using a WSDL for the request and response mapping and we have not created a message type.

We checked in SOAP UI and this is the response we are getting,

<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>ADAPTER.JAVA_EXCEPTION</code>
<text>See log trace with id: n/a</text>
</s:SystemError>

Empty payload is getting created for the response mapping.

Thanks,

Tinu

0
Raghuraman S Dec 18, 2017 at 03:30 AM
0

Hello Tinu.

If all the settings are fine specially content type,Just try restarting the channel once.

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Raghuram,

How can we check whether the content type that we are sending to the external system is fine, we have the same settings for PI and PO in the Receiver channel, PI is working but the same is not working in PO.

Thanks,

Tinu

0

Hello Tinu,

We usually check the content supported using SOAP UI then change the same in PI using beans.

I believe you can check the content type in Message monitoring under header.

0
Samir Lambe Dec 19, 2017 at 10:14 AM
0

Hi Tinu,

First check connectivity is working fine or not, you can perform telnet from your app sever to the target. It seems service is not able to ping target, also you can check URL credentials maintained correct at your end. Try to access target URL first through your server browser.

Regards,

Samir

Share
10 |10000 characters needed characters left characters exceeded