Skip to Content

MalformedMessageException in SOAP scenario with HTTPS

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Jul 21, 2010 at 04:04 PM

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

    VJ

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Juergen Grallert

      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

  • Sep 07, 2010 at 12:12 PM

    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

    Add comment
    10|10000 characters needed characters exceeded