cancel
Showing results for 
Search instead for 
Did you mean: 

Namespace declaration in XI Graphical Mapping Tool

Former Member
0 Kudos

Hi!

We use the XI Graphical Mapping Tool to map an RFC to an external definition which references the XSD proviced by the business partner.

However, when the mapped messages are sent to the third-party system it cannot process them because the XI Graphical Mapping Tool has added namespace declarations.

The business partner wants the schema declaration tags to be removed from the xml, e.g. they received:

<ns3:prod_reg xmlns:ns4="http://isac.hp.com/schema/ckm">

but they need:

<prod_reg>

How can this be achieved this using the XI Graphical Mapping Tool?

Regards, Tanja

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

We can execute a system command after the message processing is done that is after adapter puts the file in the specified location. write a java program which will perform the required action and execute it after the message processing is done.

Regards,

Sudheer.

Former Member
0 Kudos

Hi Sudheer!

> We can execute a system command after the message

> processing is done that is after adapter puts the

> file in the specified location. write a java program

> which will perform the required action and execute it

> after the message processing is done.

I do not understand how using a system command should help to solve my problem with the namespace declaration in the XI Graphical Mapping Tool. Can you please explain in more detail what you mean? We do not use the file adapter, the scenario is a Proxy (SAP CRM) -> XI -> HTTP (Third-Party system) connection.

Regards, Tanja

former_member187339
Active Contributor
0 Kudos

Hi,

When you create MT don't give the namespace value in <b>XML Namespace</b> text box.

Regards

Suraj

Former Member
0 Kudos

Hi Prashanth & Suraj!

> When you create MT don't give the namespace value in

> <b>XML Namespace</b> text box.

Thanks for your answers, however we have not defined a data and message type but use an external definition which references the XSD that has been provided by the business partner.

The XSD looks like this:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:ckm="http://isac.hp.com/schema/ckm" 
xmlns="http://isac.hp.com/schema/isac" 
targetNamespace="http://isac.hp.com/schema/isac" 
elementFormDefault="qualified" 
attributeFormDefault="unqualified" version="1.1.1">
<xs:import namespace="http://isac.hp.com/schema/ckm" 
schemaLocation="/isac/schema/ckm/2005/03/ckm-grouping.xsd" />
...
<xs:element name="product_registrations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="prod_reg" type="prod_reg" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
...
</xs:schema>

How can I achieve it that the namespace is not declared at prod_reg level when I create a mapping with the XI Graphical Mapping Tool using the XSD above as external definition?

Regards, Tanja

former_member187339
Active Contributor
0 Kudos

Hi,

Try removing tagetNamespace from your XSD.

Regards

Suraj

Former Member
0 Kudos

Hi Tanja,

As far as i know, you would need to make changes in ur datatype, and reqork the mapping if u want <prod_reg> without namespace., and another root on top of prod_reg, and map it the the RFC root.

Then proceed with mapping normally, and here, the difference is <prod_reg> is not mapped to the root message type namespace, and hence will not come with the ns3: tag.

cheers,

Prashanth