cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Question <p3: .. etc.. namespace prefixes

Former Member
0 Kudos

Does anyone know why xi uses namespace prefixes like p3: p2: etc..? I am trying to map based on an rfc as the target and a message from a wsdl as the source. I can not test the map because it expects the test file ( from our partner ) to have all these P3:'s in it and it doesn't. Here is a snippet of what is happening at translation ....

<p3:Execute2 xmlns:p3="http://www.some/namespace/">

<p3:transaction-limit type="Amount"><p3:value>99999999999</p3:value></p3:transaction-limit><p3:transaction-limit type="Number"><p3:value> 9999</p3:value></p3:transaction-limit></p3:daily-transaction-limits><p3:single-transaction-limits></p3:single-transaction-limits><p3:monthly-transaction-limits></p3:monthly-transaction-limits></p3:authorization-control><p3:request-type>Activate</p3:request-type>

Message was edited by: Andrew Alpaugh

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Andrew,

the question is a little bit unclear to me. When I get you right, you have a WSDL that describes a message you get from a partner. You use this WSDL to define a Message Mapping. The Message Mapping does not work as expected. The fragment you have posted is probably what the Message Mapping seems to expect (according to the test panel). But the message you get from your partner looks different (it does not have all these prefixes).

I suppose that the schema contained in the WSDL (more precisely in the types-section) states that all elements have to be namespace-qualified (this could e.g. be done by having an elementFormDefault="qualified" in the schema). Thus, if the elements are unqualified in the message you get from your partner it simply means that the partner does not stick to the WSDL.

If this does not help you, I would have to see the WSDL and an example message that failed to work.

Note, however that there are different ways to express namespaces. If the document sent by your partner looks as follows:

<Execute2 xmlns="http://www.some/namespace/">

<transaction-limit type="Amount">...

it is logically equivalent to the one you posted, and the Message Mapping will treat them identical.

Greetings

Stephan

Former Member
0 Kudos

Your answer was VERY helpful. Thank you - I'm hoping I can post again to this message if I need more information.

Thanks again

Answers (0)