cancel
Showing results for 
Search instead for 
Did you mean: 

soap attachment mapping problem, xop:include

Former Member
0 Kudos

Hello experts,

I am using PI 7.3

I have a senario SOAP to IDOC which SOAP is a sender adapter.

My Web Service receives attachment which includes MTOM, xop:include

I read the attachment in the message mapping by User-Defined function.

But I have another problem while message mapping.

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>Unexpected value <null> for node /ns0:TrainingAttachment/ns1:binary</SAP:P1>

in attachment part of the web service is following,

<urn1:attachment>

<urn1:binary>

<inc:Include href="cid:87732-65c0-665c" xmlns:inc"http://www.w3.org/2004/08/xop/include" />

</urn1:binary>

</urn1:attachment>

I think my message mapping doesnt resolve the binary part

I tried the Do Not Resolve XOP Includes checkbox, nothing changed

Thanx for your help

Hasan

Edited by: ordu_hasan on Feb 23, 2012 4:12 PM

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello Experts

I am trying to send a similar MTOM attachment message from soapUI to my test scenario (Webservice -> PI -> ERP WebService) in SAP-PI7.3.1:

Here is the input: (with attachment: test.txt)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://ccsap.bit.admin.ch/soa/ccsap/SalesOrderChange/v1">

   <soapenv:Header/>

<soapenv:Body>

<v1:SOASalesOrderAttachmentRequest>

<SALES_DOCUMENT>12234</SALES_DOCUMENT>

<AR_OBJECT>VBAK</AR_OBJECT>

<SAP_OBJECT>cid:test.txt</SAP_OBJECT>

<SIMULATION>X</SIMULATION>

</v1:SOASalesOrderAttachmentRequest>

</soapenv:Body>

</soapenv:Envelope>


I used WS (sender) Adapter to send the above message.


in SXMB_MONI, it look like as follows:



Main Document

As explained by Dzimtry above, I have added the XSLT mapping before the message mapping but still getting the following exception:

Additional Error Text: Typ Content-ID contains invalid characters, Kernel Error Id Please change the mapping.

after this error, the payload look like this ( attachment is converted to BASE64)

Can anybody tell, what I am doing wrong here?

Thanks for your valuable time in advance!

Best Regards

Satish.

Former Member
0 Kudos

Hello,

did you find solution?

Thanks

Former Member
0 Kudos

Hello Kiryl,

The solution proposed by Dzmitry Skubilau worked like a charm

Only the small detail that the xslt file MUST use xsl as namespace. Run a find&replace on your favorite editor before uploading and everything will work fine.

BR,

David R.

Former Member
0 Kudos

Hi Hasan,

  Please, try to implement next xslt mapping before message mapping.

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

<ns0:stylesheet version="1.0" xmlns:ns0="http://www.w3.org/1999/XSL/Transform" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:ns2="https://onlineservice.creditreform.de/webservice/0400-0005">

   <ns0:template match="node() | @*">

      <ns0:copy>

         <ns0:apply-templates select="node() | @*"/>

      </ns0:copy>

   </ns0:template>

   <ns0:template match="xop:Include"/>

</ns0:stylesheet>

Regards, Dzmitry