on 12-15-2017 9:51 AM
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
Hi,
Firewall Connectivity, Ping test, URL , authentication.
If all above is working fine, then check the recordset structure is more than the configured value or not in the input file.
Check "Recordset per message" value in content conversion if used.
Thanks,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Tinu.
If all the settings are fine specially content type,Just try restarting the channel once.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tinu!
I would suggest to enable HTTP tracing in your receiver channel and to check that logs for response message contents.
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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:
Regards, Evgeniy.
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
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.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.