cancel
Showing results for 
Search instead for 
Did you mean: 

MalformedMessageException in SOAP scenario with HTTPS

former_member191531
Participant
0 Kudos

Hello,

we are using PI 7.1 with a decentral adapter engine on XI 3.0 and are setting up a SOAP - IDOC scenario (HTTPS) with an external business partner. It's NOT our first scenario of this kind, so the settings in Visual Admin, Integration Builder, ESB... should be ok.

The business partner is sending us a standard IDoc type (ORDRSP.ORDERS05) and we are NOT using SOAP Envelope.

When our business partner sends us an IDoc-message, it gets the following HTTP/1.1 500 Internal Server Error:

...

com.sap.aii.messaging.mo.MalformedMessageException: No SOAP Envelope but 1 {}ORDERS05 at com.sap.aii.messaging.mo.Message.reparseRootDocument(Message.java:1051) at com.sap.aii.messaging.net.MIMEInputSource.readSOAPPart(MIMEInputSource.java:649) at com.sap.aii.messaging.net.MIMEInputSource.decodePart(MIMEInputSource.java:641) at com.sap.aii.messaging.net.MIMEInputSource.readBody(MIMEInputSource.java:407) at com.sap.aii.messaging.net.MIMEServletInputSource.parse(MIMEServletInputSource.java:58) at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:390) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at

...

On our side we don't see anything in the RWB of the decentral adapter engine, neither in the communication channel monitoring, nor in the MessageMonitoring.

Does anyone have an idea, what could be the matter?

Thanx,

Juergen

Accepted Solutions (1)

Accepted Solutions (1)

VijayKonam
Active Contributor
0 Kudos

Any reason behind not using the SOAP envelope? The exception clearly says that, it is looking for SOAP Envelope..!!

VJ

former_member191531
Participant
0 Kudos

Hi VJ,

the business partner is sending without SOAP envelope to our URL with attention '&nosoap=true' and in the communication channel I've marked the conversion parameter 'Do Not Use SOAP Envelope'. What else could be the reason? Must something else be configured?

We also tried to send with SOAP envelope and got the following error message:

...

com.sap.aii.af.service.cpa.CPAException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=null;TS=null;AN=null;ANS=null; at

com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.checkForError(CommonLookup.java:48) at com.sap.aii.af.service.cpa.InboundRuntimeLookup.getBinding(InboundRuntimeLookup.java:460) at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getBinding(AbstractLookupManager.java:1010) at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:434) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at

...

What does this mean? I already checked the URL (https://xxx:xxx/XISOAPAdapter/MessageServlet?channel=:BS_xxx_D:SOAP_OrderResponse_SENDER&nosoap=true) a hundred times...

Thanx,

Juergen

Former Member
0 Kudos

Juergen,

Must something else be configured?

No, this much configuration should be enough. Have you tried sending in messages using any external tool (SOAPUI etc)?

Regards,

Neetesh

Former Member
0 Kudos

Hi Grallert,

It seems something wrong with the url based upon the error. Earlier I got the same error then I tried to create the url like this one:

http://host:port /XISOAPAdapter/MessageServlet?senderParty=FP& senderService=FS& interface=IF&receiverParty=TP&receiverService=TS&interfaceNamespace=IFNamespace

This you can see in SOAP FAQs first question in oss notes: Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter

  • Q: To which URL can I send my SOAP message?

A: The URL for your SOAP sender channel is

http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c

where host is the host name, port is the port number, p is the optional party name, s the service name, and c is the channel name, respectively.The URL given above is valid for 3.0/7.0/7.1.

A new URL syntax is also valid and is recommended to be used. The URL for the SOAP sender channel is

http://host:port /XISOAPAdapter/MessageServlet?senderParty=FP& senderService=FS& interface=IF&receiverParty=TP&receiverService=TS&interfaceNamespace=IFNamespace

where host is the host name, port is the port number, FP is the optional sender party, FS is the sender communication component, interface is the interface configured as per the sender agreement, TP is the receiver party, TS is the receiver communication component, IFNamespace is the interface namespace as configured in the sender agreement, and IF is the interface as configured in the sender agreement.The new URL given above is valid and recomended to be used for XI 3.0(SP-21 onwards),PI 7.0(SP-14 onwards)and 7.10(all releases).

In a case when the sender channel or the receiver does not belong to a particualar Party leave the field empty in the URL, do not eliminate the parameter from the http URL, also do not use NULL instead in case of such channels. For instance, for a channel which does not belong to a particualr Sender Party and Receiver Party the URL looks like

http://host:port /XISOAPAdapter/MessageServlet?senderParty=& senderService=FS& interface=IF&receiverParty=&receiverService=TS&interfaceNamespace=IFNamespace

Try to use this and see and sap also recommends to use this url in newer versions.

Regards,

---Satish

Answers (1)

Answers (1)

former_member191531
Participant
0 Kudos

Hi all,

first of all thanks for your comments.

I was able to reproduce the same error message by using soapUI. It shows up, when I'm sending a message without SOAPEnvelope, while using the url WITHOUT the parameter '&nosoap=true'.

As our business partner affirms, that it is using the url WITH the parameter, there seems to be an inconsistence in our system.

We now changed to use the SOAPEnvelope and it's working fine.

Regards,

Juergen