Showing results for 
Search instead for 
Did you mean: 

XSLT problem

Former Member
0 Kudos

Hi all,

I want to copy the field content using the value-of statement and changing the namespace, the schema location. I donu2019t know how to do it, I googled and I tried some ideas but w/o success.

Input XML

<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_RFCbusquedaDun xmlns:ns1="">

Here is the xsl I am working on:

<xsl:transform xmlns:xsl="" xmlns:sap="" version="1.0">
  <xsl:strip-space elements="*"/>
  <xsl:template match="/">
    <ns1:Z_FSCM_BUSQUEDA_DUN xmlns:ns1="">
        <xsl:value-of select="ns1:BusquedaIdProductosResponse"/>

Output XML

<?xml version="1.0" encoding="utf-8" ?> 
<ns1:Z_FSCM_BUSQUEDA_DUN xmlns:ns1="">
  <E_XML>text </E_XML>

If you see the mapping is retrieving the source namespace and the objective is to create a new one.

Guys, the idea behind this is to put working a sync interface SOAP -> RFC with an XSL mapping and to call properly this RFC I believe that this namespace should be replaced by urn:sap-com:document:sap:rfc:functions. With the above namespace I can do the mapping of course and at sxi_monitor everything looks fine, but at AE Iu2019m getting the following error: Error in processing caused by: got unexpected document type:DOC_TYPE_UNKNOWN, and I believe that is due to wrong namespace.

Anyone knows how to change the namespace in a XSL mapping or any other idea to fix this problem with RFC call.

Thanks in advance,


Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi all,

I fixed the problem like this, more or less like you said Emiliano.

1 step) soap request --> XSL --> RFC

2 step) a new data Type (a mirror of my RFC, but with the same soap response namespace) --> Graph.Mapping --> RFC

At the end of graphical mapping I get the right namespace to call an RFC in the backend system. It's working guys

Thank you all for your great ideas.



Former Member
0 Kudos


I made a mistake on the above XSL transformation.

Try this:


Chorry, Raú

Former Member
0 Kudos

Hellou there!!

Try with this one:

Regards, Raú

Former Member
0 Kudos


have you tried to do a double mapping?

I mean the first mapping with xslt, then the result of XSLT, to another new graphical mapping.

The interfaces involved are:

1 step) soap request --> XSL --> soap request

2 step) soap request --> Graph.Mapping --> RFC parameters.

In the second step the XML that will call the RFC, will have automatically the exact namespace "urn:sap-com:document:sap:rfc:functions" .



Former Member
0 Kudos

Hi Emiliano,

Thanks for the tip, but I tried this beforehand; this is a sync call and I think it is not possible to do what you said, just have a look:

1 step) soap request --> XSL --> soap request

2 step) soap request --> Graph.Mapping --> RFC parameters. this is a sync call, the same structure(RFC) that is used to call the web service should be the same at time that receives the response, like this:

1 step) RFC --> XSL --> soap request

2 step) soap request --> Graph.Mapping --> RFC parameters

and it doesn't work with this approach!

@Kumar - the same apply for your great tip, the change must be done at sender RFC adapter and with XMLAnonymizerBean Iu2019m not able to change only the namespace at response as I wish. With this I change the request and response and I donu2019t want to change the namespace at request because it fails at web service call.

Any ideas?



Edited by: Ricardo Quintino on Jun 10, 2008 3:44 PM

0 Kudos


For changing the namespace you have to simply add one module in your communication channel

that is XMLAnonymizerBean

you can refer below for help:


hope it helps.

reward point 4 useful ans.


ujjwal kumar