cancel
Showing results for 
Search instead for 
Did you mean: 

How to build my own SOAP envelope

Former Member
0 Kudos

Hi

after a lot of work I have now realised that my SOAP to SOAP scenario can't use SAP XI std SOAP ENVELOPE on the receiver part.

How to I build my own SOAP ENV in my RECEIVER payload? iMaybe in the mapping or in the WSDL/XSD?

Any guides or experienses are welcome

hope someone can help

cheers

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thx for the help

Former Member
0 Kudos

Hi,

I did it through XSD. I build a XSD with the exact structure include SOAP tag, SOAP header and SOAP Body etc... and then click the "Do not use SOAP Envelope" option in the comm channel.

Regards

Wing

Edited by: Wing Leung on Jun 29, 2009 11:34 PM

Former Member
0 Kudos

I am in the similar situation..... to build my own SOAP envelop...

Is it possible to share the XSD structure for a head start

Thanks a lot

Former Member
0 Kudos

Hi Bowie,

Here is one possible approach...

1) Set "Do Not Use SOAP Envelope" in your Receiver SOAP Adapter.

2) Add this xsl as a second step in your interface mapping.


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
      <env:Body>
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </env:Body>
    </env:Envelope>
  </xsl:template>
  
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  
</xsl:stylesheet>

You can then modify the soap envelope nodes above to create what you need.

-Russ