cancel
Showing results for 
Search instead for 
Did you mean: 

Problem With ns1 in an XML tag

Former Member
0 Kudos

hi all,

i have a scenario like this: RFC -> XI -> WEBSERVICE -> XI -> RFC

i have built a message mapping to convert the RFC structure to the WEBSERVICE structure and another one to convert the WENSERVICE structure to the RFC response structure.

all work fine when i call the WEBSERVICE, but when i get an answer i get ns1 prefix in the XML tags... the WSDL does not have any namespaces defined for the XML tag so when it uses the second message mapping it doesn't recognize the XML tag.

i get something like this:

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

<ns1:firstTag xmlns:ns1='http://helloworld' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>

<<b>ns1:</b>SecondTag xsi:type='xsd:string'>helloworld</<b>ns1:</b>SecondTag>

</ns1:firstTag>

i don't want the second tag to be with the ns1 prefix.

i prefer not to write XSLT mapping that remove the prefix.

can you plz help me?

Regards,

Roi Grosfeld

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

i have another question about this:

why does the SOAP adapter adds these prefixes at all?

Regards,

Roi Grosfeld

Former Member
0 Kudos

i don't want to remove all the ns1 prefixes, i just want to remove the prefix for the second tag.

Former Member
0 Kudos

Hi Ilan,

This is a reply made by Stefan in another thread regarding the same issue.

<i>Technically the XML messages are the same with or without namespace prefixes. So there should not be any problem at the receiver site.

If the receiver does not accept namespace prefix at all, you can eliminate them with the XMLAnonymizerBean.

/people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean

If you have not upgraded to SP14 (XI 3.0) so far, you need to write an own Java mapping or adapter module or XSLT mapping to get rid of the prefixes.</i>

Regards,

Jai Shankar

Shabarish_Nair
Active Contributor
0 Kudos

you can make a separate xsd for your response structure and use it in your mapping instead of the WSDL message.

A similar approach was used by me.

Ref:

/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1

/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2