Skip to Content
author's profile photo Former Member
Former Member

SOAP Envelope for Webservice Receiver in AEX 7.40

Hello,

in my scenario I want to send data from SPROXY => PI 7.40 AEX => SOAP Webservice.

With SoapUI I testet the messages. The Webservice only except messages in the structure

<soapenv:Envelope xmlns:ns1="http://.../dataservice" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

<soapenv:Header/>

<soapenv:Body>

<ns1:UpdateObject>

.

.

.

</ns1:UpdateObject>

</soapenv:Body>

</soapenv:Envelope>

If the <soapenv> are missing the webservcie throws an error.

I configured the CC (Communication Channel) in Adapter Type SOAP Transport Protocol HTTP Message Protocol SOAP 1.1 Adapter Engine CAE with Target URL nothing else.

With this configuration I get no <soapenv> around <ns1:UpdateObject>

I tried also Transport Protocol HTTP(Axis) but this didn't helped. Could be I didn't set it right.

Can someone give me please a clue? What should I do, so the mentioned scenario runs?

Regards

Martin

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Posted on Jul 18, 2016 at 04:02 AM

    The SOAP Envelope would by default be added by the SOAP Adapter. What you require is standard SOAP Adapter functionality where the payload is inserted into the SOAP Body by the SOAP Adapter implicitly. Like Evgeniy has mentioned do check why you think the SOAP Envelope is the issue as that should not be the case until something special is required..

    You can use a TCP Gateway to validate your payload that goes out of PI with the SOAP Envelope if required - Troubleshooting SOAP, HTTP and Mail Adapter Scenarios with TCPGateway

    Regards

    Bhavesh

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jul 15, 2016 at 01:41 PM

    Martin,

    A plain soap is enough in your case i guess no need to go for AXIS (unless u have NTLM or SOAP 1.2)

    Create a simple soap Receiver CC and push the message .

    SOAP adapter usually builds a soap envelope around your payload unless and until you have marked "Do not use Soap Envelope" in receiver CC.

    If "Do not use Soap Envelope" is marked then you need to make sure that you build a soap envelope in your mapping using java/xslt.

    Br,

    Manoj

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jul 18, 2016 at 03:51 AM

    Hi Martin!

    How did you find out that SOAP Envelope was missing in your message? Did you get error from web service during end-to-end testing?

    Regards, Evgeniy.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Evgenly,

      the documentation for the webservice showed me how to build the message.

      I first generated the request with SoapUI and the given WSDL from the webservice, in the form i mentioned in the original post.

      the payload of the PI message doesnt worked in testing over SoapUI.

      Also I get errormessage by testing end-to-end (see reply beneath)

      regards

      Martin

  • author's profile photo Former Member
    Former Member
    Posted on Jul 18, 2016 at 04:27 PM

    Thanks everyone for the response to my problem.

    i'm checking you given options.

    in addition to my original post. By sending my message with plain SOAP i get the following errormessage

    SOAP: Error occurred: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Cannot process the message because the content type application/xml was not the expected type text/xml; charset=utf-8

    regards

    Martin

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Bhavesh Kantilal

      He Bhavesh,

      I'm using the soap adapter without the option "Do Not Use SOAP Envelope"

      and the pi version (Serverversion) is 7.40.33.1.367419

      The error (mentioned above) is triggered when sending the message without the option "Do Not Use SOAP Envelope".

      regards,

      Martin

  • author's profile photo Former Member
    Former Member
    Posted on Jul 21, 2016 at 04:19 PM

    I configurated the integrated configuration in the advanced settings in logging with "Log on error" for Mapping (step AM - After mapping, but before outbound schema validation).

    But what i get from your sayings it doesn'T show me the message the webservice is getting?

    I there a option to see this?

    I will try the hint with the MessageTransfromBean tomorrow.

    regards,

    Martin

    Add a comment
    10|10000 characters needed characters exceeded

    • Excellent, in that case the issue is definitely something that will get sorted by MessageTransformBean.

      When using Do not Use SOAP Envelope, the Content Type is set as application/xml and from your error it looks like the requirement is for the content type to be text.xml.

      Set the parameter of messagetransformbean as ,

      Transform.ContentType = text/xml;charset=UTF-8


      Regards

      Bhavesh

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.