Map CDATA to Message Structure

Recently, I've been asked to map generic message data embedded in a XML body's CDATA container to a complete message structure defined in XI.
When I searched on SDN, I could only find information about the other way around (wrapping XML structured data  into CDATA) which is why I'm posting this thread. The solution is so easy, yet doesn't seem to be straightforward, which is why I absolutely wanted to document and share it with you.
This is the message  sent to SAP PI:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
     <Header>
          <To>Danny</To>
          <MsgType>test</MsgType>
     </Header>
     <Body><![CDATA[<hr:TestMsgRequest xsi:schemaLocation="http://tatis.com/test/schemas/ testcdata.xsd" xmlns:hr="http://danny.com/manifest/schemas/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><hr:customer><hr:name>aaaaaaaaaaaaaaaaaaaaaaa</hr:name><hr:code>1234</hr:code><hr:address>     <hr:name>test Customer</hr:name><hr:postalcode>BE9876</hr:postalcode><hr:town>Somewhere</hr:town><hr:country>Belgium</hr:country></hr:address></hr:customer>
</hr:TestMsgRequest>]]></Body>
</Envelope>
As you see it consists of a Header and a Body. The Body contains the CDATA which should be unserialized and mapped to the following message structure
<customer>
     <name>aaaaaaaaaaaaaaaaaaaaaaa</name>
     <code>1234</code>
     <address>     
          <name>test Customer</name>
          <postalcode>BE9876</postalcode>
          <town>Somewhere</town>
          <country>Belgium</country>
     </address>
</customer>
I've created an xslt mapping, imported it as an archive and used the XSLT mapping in the interface mapping.
The following source code did the trick:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://tatis.com/schemas/msg/envelope/ext">
     <xsl:template match="ns0:Envelope">
               <xsl:value-of select="ns0:Body" disable-output-escaping="yes"/>
     </xsl:template>
</xsl:stylesheet>
As you might have noticed during mapping testing, XI adds a namespace to your source XML structure (ns0, ns1, etc.). You should pay attention to include this namespace in the XSLT!
If you have questions, don't hesitate to drop a mail, Danny.

Hi.
Thanks. I am still not understanding.
Where did / How did you derive the ns "xmlns:ns0="http://tatis.com/schemas/msg/envelope/ext"???
Thanks.
Sean

Similar Messages

  • Mapping with changed message structure

    Hello,
    I have dowloaded a SAP IDOC into XI and build a mapping based on this IDOC.
    Now the IDOC is enhanced with a new (Z)segment and I have dowloaded the new structure again.
    But the new segment is not visible in the mapping based on that IDOC.
    Do I have to create a new mapping???
    Or how can I refresh the mapping, so that the new segment can be used there?
    best regards
    Werner Magerl

    Hi Werner,
    Check the following:
    1.Name of the Imported OLD IDoc structure and the new one.
    find out whether they are same.
    2.In your existing message mapping, make sure you have used the newly imported Idoc structure.
    In the edit mode of your message mapping, click on the button with a "hand and question mark".Navigate to the software component> software component version> Imported objects>Idocs>"select your new IDoc structure".
    If the are any new mapping to be done for the Z segment, do it.
    3.save and activate changes.
    Regards,
    Sridhar

  • Message Mapping : content based target structure generation

    Hi Team,
    As per my requirement , mapping should generate target structure based on one "field" value in source srtucture.i.e target structure should generate for some of the custid values  , not for all cust id's . also I dont want empty files .
    Source:
    MT_SOURCE
    -Custid
    -CustName
    Target:
    MT_TARGET
    -Custid
    -CustName
    But I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
    Thanks.
    Drumi

    But I want to generate Target structure MT_TARGET only for custid values' 001,002,003 ; for remaining values I dont want to generate target structure MT_TARGET . Is it possible using graphical mapping.I think UDF is correct oprtion. can you provide sample code for this requirement.
    might be it is helpful for ur requirement:
    Custid + constant(001) +equals ->(first) if
    Custid->then                                                 
    Custid + constant(002) +equals-> else
    First if ending -> Second if
    Custid->then
    Custid + constant(003) +equals-> Second else ->target Custid

  • Please help me to solve error: Split mapping created no messages

    Hi Experts,
    I am facing Split mapping created no messages  when i run my scenario.
    My Scenario is : Proxy to FILE.
    I am triggering Proxy and based on one condition i am generating different Flat Files.
    Now when i do this i am getting error :Split mapping created no messages in SXI_MONITOR.
    When i check this in Message Mapping by taking data from SXI_MONI its working fine...
    but when i trigger the data from RUNTIME WORKBENCH its throughing the error.
    When i remove the NameSpaces <ns0:message>
    and <ns0:messages1> its working fine.
    How can i solve this issue.
    Even though i removed Namespace in Message Type, i am getting the error.
    I changed occurance of Target message to O..unbounded both in Message Mapping and Interface Mapping.
    Its working fine in Message Mapping, problem occurs only when i run end-to-end scenario.
    So please help me to solve this issue.

    I think there might be mismatch between your name spaces.
    may be this link might help you
    Split mapping created no messages -Mluti Mapping
    are you getting the same structure from your proxies whatever structure you have in your XI structure(sender) and NS should match.
    but I dont have exp with proxies.
    Sri

  • Different message structures on one communication channel

    Hello,
    we've got the situation where on on single communication channel, we will have multiple message structures. We need to discriminate between them and then handle them according to their structure.
    All messages have a header section in which the message type is stored. So I've created a dummy structure:
    <ns0:dummy>
      <header>
        <message_type></message_type>
      </header>
    </ns0:dummy>
    the actual messges will have a different root element, but you can ignore this by using xpath. So, I've created a sender agremeent with this dummy message as the interface. I have a interface determination with conditions:
    /*/header/message_type = MT_A
    and receiving interface MT_A. Same for MT_B and so forth. There's no interface mapping in between.
    The receiving system now has a receiver agreement with MT_A as the interface. This all works. But in the receiver agreement you set up a communication channel where the message is sent to.
    But at this point, MT_A was what the original system sended. All we did was figuring out what message type we're dealing with. Now we need to handle this message as MT_A and using a interface mapping, map it to MT_A_New. We cannot do this in the original receiver determination / interface determination combi, sinse this would mean a message mapping from dummy to something, and we need from MT_A -> MT_A_NEW.
    Does anyone have thoughts on how to do this?
    Thanx in advance!
    Greetings, Walter.

    Hello All,
    thanks for all your input, it gave me quite a few possible directions to look.
    we eventually solved our issue by creating a "generic" structure. It contains the header part (which is the same in structure A and B) and both the A body and B body as optional parts.
    now we can make a mapping which only operates on the A part and ignores the B part and also one which does the B part.
    <root>
      <header>
        <MT></MT>
      </header>
      <MT_A>
      </MT_A>
      <MT_B>
       </MT_B>
    </root>
    we can still define which mapping to use based on the header information. It all seems to work.
    Thanks again for all your input!
    Greetings, Walter.

  • Plan Driven Procurement - Error message  "Structure 01 CP 10170237 CP-S-O

    Hi SRM Experts,
    Iam seeking your help to avoid error messages in the Plan driven procurement scenario.
    I have configured Plan driven procurement scenario as described in the ref. material. The objective of this scenario is transferred PR in EB/SRM should create a entry in sourcing cockpit.
    Back end (R/3)configuration steps completed:
    1. Entries maintained in V_T160EX, V_T160PR
    2. RFC communication established using RFC user
    3. As soon as PR (Purchase Requisition) is created from Projects, Network the PR is available in EPRTANS table with Procurement profile.
    4. Manually executed PR Transfer program BBP_EXTREQ_TRANSFER
    5. Outbound Queue got generated but with below error message.
    Error Message: Structure 01 CP 10170237 CP-S-O: No agent found
    SRM/EBP Settings maintained:
    Direct procurement attribute maintained.
    Entry channel created under Company code org. structure
    RFC user is assigned to the entry channel.
    Assigned Product categories and entries channel to the respective purchase group.
    Defined sourcing for product categories.
    After maintaining all above configuration, iam still getting error message.
    Please provide your expert guidence to complete this scenario setup.
    Regards,
    Karnati

    Hi Nagi,
    This is related to Parner determination process with both systems in CRM & ECC.
    Error Details:  "Partner Function" in CRM is not there in ECC.
    We mapped in ECC by creating a ZB copied from "SB" Partner function in ECC & reprocessed the order in CRM, Henceforth rectififed the error.
    Many Thanks !!!
    Sany.

  • Mapping between XI message (XSD) and the webservice message

    HI Gurus,
    I am trying to send a message from XI to webservices. In the mapping my source message (xi message) has multi nodes in it. How can I map this structure to webservices? I cannot map them to the arraylist (defined as parameter in the webservices).
    I am trying to write a UDF to read the XSD schema message and map that into the arraylist of the webservice.
    Any ideas please?
    Thanks
    Kalyan

    Suraj,
    Source message  (XI message)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CustomerCreateResp xmlns:ns0="pr5:100">
       <CUSTOMER>
          <item>
             <CUSTOMERNO/>
             <MDMCUSTOMER/>
             <CREATE_DATE/>
             <RETURN>
                <TYPE/>
                <MESSAGE/>
             </RETURN>
             <PT_CONTPART_RETURN>
                <item>
                   <MDM_CONTACT/>
                   <CONTACT/>
                </item>
             </PT_CONTPART_RETURN>
             <PARTNERS>
                <item>
                   <CUSTOMERNO/>
                   <PARTNER_FUNCTION/>
                   <PARTNER_NUMBER/>
                   <DEFAULT_PARTNER/>
                </item>
             </PARTNERS>
          </item>
       </CUSTOMER>
    </ns0:CustomerCreateResp>
    Target message (webservices message)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:updateCustomer xmlns:ns1="urn:xiSericeVi"><ns1:customer><ns2:ArrayList xmlns:ns2="java:sap/standard">[]</ns2:ArrayList></ns1:customer><ns1:name></ns1:name></ns1:updateCustomer>
    The target message has arraylist type parameter. I am trying to read the XI message and map it to the arraylist.
    Thanks
    Kalyan

  • Multi-Mapping "Split mapping created no messages"

    Hi there
    I have some issie when trying to create multiple messages from a single message. I am using file to file adapter and in the interface determination, enhanced config. Also my file structures are setup correctly. The inbound and outbound structure looks the same so theres no funny mapping used. I cheked my comm channels in the RWB and its fine and when I do a test config in the integration builder it complains about my interface determination but does not say whats wrong. Just the icon. I looked at some of the other blogs but they do not really help. Any ideas what this might be? The inbound message looks like this:
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_Allocations_Reply_OUTB xmlns:ns="urn:metcash.co.za:test">
    - <IDOC_Recordset>
    - <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
    - <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
    - <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
      </IDOC_Recordset>
      </ns:MT_Allocations_Reply_OUTB>
    *And the Error:*
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>Split mapping created no messages</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Split mapping created no messages</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Thanx,
    Jan
    Edited by: Jan de Lange on Nov 24, 2008 10:25 AM

    I checked my config in the IR with the following payload, but is still only shows a stop icon on interface determination & mapping with no error trace:
    <?xml version="1.0" encoding="utf-8" ?>
      <ns:MT_Allocations_Reply_OUTB xmlns:ns="urn:metcash.co.za:test">
      <IDOC_Recordset>
      <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
      <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
      <IDOC_Structure>
      <PLANT>134</PLANT>
      <ORDER_NUM>50885006</ORDER_NUM>
      <FILLER>1</FILLER>
      <PLU_NUM>00000000074893650</PLU_NUM>
      <QTY>000024.00</QTY>
      <FILLER_2>j</FILLER_2>
      </IDOC_Structure>
      </IDOC_Recordset>
      </ns:MT_Allocations_Reply_OUTB>

  • Split Mapping created no messages in SXMB_MONI

    Hi All,
    I have an IDOC to File scenario in which the target forms an XML file based on some RFC lookups. The problem i have is that whenever the RFC do not return any values, i am getting an "Split Mapping Created no messages" error in the SXMB_MONI. Is there any possible way that i could suppress the target and i should not form the target when the RFC do not return any output.
    Regards,
    Sherin Jose P

    The problem i have is that whenever the RFC do not return any values
    If you are trying to generate the Parent element using the RFC response then you are bound to get the error as no target structure will be poduced when the RFC does not return any value....may be doing a check on RFC response and then using MapWithDefault or any other term so that at least one valid element is produced will prevent the error from occuring.
    Regards,
    Abhishek.

  • Split mapping created no messages -Mluti Mapping

    Hi ,
    I am using Multimapping without BPM,XML to flat file Scenario (PI SP12) and I am getting this following error in SXMB_MONI
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING">GENERIC</SAP:Code>
      <SAP:P1>Split mapping created no messages</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Split mapping created no messages</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I know this is very known error.
    I refered  Split mapping created no messages
    and blog  /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
    but they didn't help,but I have just one target message structure not two like in the blog.
    I double checked my source input XML file
    1.mapped my header (0--unbounded) to the Message type ,cos I need to get many file as many times my header occur in the source.
    2.checked in MM target Mesasge is   0---Unbounded
    3.checked in IM target Messag is 0--- unbounded
    4.used Enhanced Interface determination.
    when I test with the same sample XML data in test MM ,I am getting
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge"><ns0:Message1></ns0:Message1></ns0:Messages>
    seems like no data in it,but system message is <b>Mapping executed successfully</b>
    does it give like this when use multimapping?
    basically it is not able to split the source message as required.
    any suggestion?I think I chcked all whatever needs to be right.
    thank you,
    Babu

    Hi Agasturi,
    thank you for your response.
    >>If the Pay load is huge some time it will be empty message after pasting one time try to execute it again, Let us check the error message now.
    I don't think my message is huse.just 60MB but header repeating like 100 times ,so it would generate 100 output files
    OK,for safe side,I just took one record from my payload and also three records from my payload (SXMB_MONI),I get the same error in  SXMB_MONI
    "Split mapping created no messages "
    and in MM Testing similar to the previous one ,like
    no output data just empty tags as given in my very first message and system status "mapping executed Successfully.
    I have done similar scenarios using Muli mapping ,and I did this same way.there is no difference .I did exactly same as my earlier interface.but in this interface I have only differences from earlier interface "occurences of my source structure.
    earlier I have SOURCE Header(1-unbounded ),header fields 1-1  trailer (0unbounded) trailer fields 1-1 so I created  my target structure Header,header fields 1-1 and trailer(0unbounded) trailer fields 1-1 that time.
    now I have
    SOURCE Header(0-unbounded ),header fields 0-1  trailer (0unbounded) trailer fields 0-1 so I created  my target structure Header,header fields 0-1 and trailer(0unbounded) trailer fields 0-1
    and mapped my header(0unbounded) to my MT-XYZ(0unbounded (after changing in the message tab occu to 0--unbounded)) to get as many as my hear times.
    any suggestion?
    thank you,
    Babu.

  • How to retrieve message structure name of an incoming XI message?

    Hi,
    Is it possible to reveal the message structure name of an XI message, that is send through a proxy?
    Background:
    I have a ABAP proxy that passes a XSD message from XI to the Mobile Middleware. I need the name of the that message structure in order to generate Mobile Business Objects from it.
    There should be an API available for that.
    I would appreciate your help.
    Best Regards,
    Michael

    Hi Lucas (says Lucas),
    After a little digging and trying out things I have found the solution.
    The Advanced Components palette available in the Mapping Editor has a section Mediator Functions. The getProperty() function shown there can be used to extract header properties. The property I am after is called jca.file.FileName, and can be assigned in the XSLT document like this:
    <ns2:filename>
    <xsl:value-of select="mhdr:getProperty('in.property.jca.file.FileName')"/>
    </ns2:filename>
    Note that the Assign Values dialog that is available in the Mediator editor has a long list of many names of properties that are available, including jca.file.Directory and jca.file.Size as well as many properties for the AQ, BPEL and EBS adapters.
    hope this helps any one besides myself.
    bye for now,
    Lucas

  • Internal XI-XML message structure.

    Hi,
    Is there an XSD of the internal XI-XML message?
    Where can I find this?
    Thanks in advance Stef Snijders

    Hi Stef,
    I am not clear about what you have mentioned -internal XI-XML message...
    But if you are looking for the xml/xsd file of the message structure, here's the path :
    Under your namespace,  go to Message Mapping, on the menu just above your structure, locate SRC (Source Text View)
    Or,
    Go to Interface Mapping, and below there, you have the option to export your XSD file for both the structures to your system.
    Rgds,
    kanan

  • BDoc: Related Data Type and Message Structure

    Related Data Type and Message Structure are two attributes of a BDoc. Can anyone tell what they are used for?
    Thanks in advance.
    Regards,
    Hui
    BTW: Mush reward for good answers.

    A message type comprises a data type that describes the structure of a message. At the following points in SAP Exchange Infrastructure you can refer to the message to be exchanged at runtime by using the message type:
    · More than one message interface can use the same message type. For example, an asynchronous outbound message interface and an asynchronous inbound message interface can reference the same message type because the request message does not need to be mapped.
    · When defining a message mapping you can directly reference message types to map messages from an outbound interface to messages from a receiver interface.
    For technical reasons, a data type is not sufficient to describe the instance of a message. In XML schema, data types are defined as abstract types that are not yet fixed to an element. You can only describe an instance of a message when you have specified a data type as an element type. Therefore, a message type defines the root element of a message.
    A message type does not define the direction of the message exchange, in other words, whether it is a request or a response. In exceptional cases you can use the same message type for both the request and the response message.

  • How to Multi-Map N:1 messages in BPM when N is unknown

    I need to perform an N:1 message mapping in a transformation in an Integration Process. SAP Documentation explains how to do this:
    [http://help.sap.com/erp2005_ehp_03/helpdata/EN/21/6faf35c2d74295a3cb97f6f3ccf43c/content.htm|http://help.sap.com/erp2005_ehp_03/helpdata/EN/21/6faf35c2d74295a3cb97f6f3ccf43c/content.htm]
    But it seems to be the case that the first message of the source will be contained in a <Message1> </Message1> element pair, the next message in <Message2> </Message2> element pair, etc.
    So what do I do in the case of a variable number of input message that get mapped to one message? I don't know how many messages will be coming in before the mapping needs to be done; it depends upon how many messages are sent out in a fixed time interval.
    I will be using an ABAP XSLT transform to do this. I cannot use a
    <xsl:for-each select="Message">
    Kind of construct because each message is enclosed by a different <MessageN> element.
    This must be a problem that has come up before. Can anybody please point me to the solution?
    Kind Regards,
    Tony.
    Edited by: Anthony Bateman on Mar 23, 2008 9:31 PM

    Hi Anthony,
    Yes you can perform N:1 message mapping using BPM by just using a "wait" step. Its very simple. The "wait" step waits for a particular time period or scheduled time(like  25th March 10:00 PM).
    If only "collection of input messages for a particular time interval" is your concern, then I think you can just do it with a simple BPM and no need of ABAP XSLT maaping. It can done by a simple Message mapping itself.
    I can send you screenshot of a sample BPM which does this work on your mail Id if you are interested. Plz provide your email ID.
    If I havent understood your Qn properly, plz do inform.
    U can refer,
    /thread/186475 [original link is broken]
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/siva.maranani/blog/2005/05/22/schedule-your-bpm
    Thanks,
    Shobha

  • Issue with XML namespace and Message structure

    Hi All,
    I am using Oracle SOA Suite 11.1.1.4. I have SOA web service application one-way messaging wherein I keep receiving messages from the third party. The issue I am facing is with the XML namespaces which conflicts with the third party's message structure. The details are as below.
    Our Web-service WSDL*
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://amb.com/cad/RealTimeService"
    xmlns:cad="http://amb.com/cad/RealTimeService"
    xmlns:avl="http://schemas.com/asiapac/cad/datamodel/avl/1.0.0"
    xmlns:evn="http://schemas.com/asiapac/cad/datamodel/event/1.0.0"
    xmlns:uni="http://schemas.com/asiapac/cad/datamodel/unit/1.0.0"
    xmlns:dvt="http://schemas.com/asiapac/cad/datamodel/divert/1.0.0"
    xmlns:sui="http://schemas.com/asiapac/cad/datamodel/suppinfo/1.0.0"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.com/cad/datamodel/avl/1.0.0"
    schemaLocation="AvlCadSchema.xsd"/>
    <import namespace="http://schemas.com/cad/datamodel/unit/1.0.0"
    schemaLocation="UnitCadSchema.xsd"/>
    <import namespace="http://schemas.com/cad/datamodel/event/1.0.0"
    schemaLocation="EventCadSchema.xsd"/>
    <import namespace="http://schemas.com/cad/datamodel/divert/1.0.0"
    schemaLocation="HewsCadSchema.xsd"/>
    <import namespace="http://schemas.com/cad/datamodel/suppinfo/1.0.0"
    schemaLocation="SupplementalInformationCadSchema.xsd"/>
    <element name="AvlAuxData" type="avl:AvlAuxData" nillable="true"/>
    <element name="AgencyEvent" type="evn:AgencyEvent"/>
    <element name="Diversion" type="dvt:HospitalDiversionMessage"/>
    <element name="SupplementalInformation" type="sui:SupplementalInformation"/>
    <element name="UnitDetail" type="uni:UnitDetail"/>
    </schema>
    Using SOAP UI tool a HospitalDiversionMessage Request for the above WSDL will look like*
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:real="http://amb.com/cad/RealTimeService" xmlns:ns="http://schemas.com/cad/datamodel/divert/1.0.0">
    <soapenv:Header/>
    <soapenv:Body>
    <*real*:Diversion>
    <ns:Action>?</ns:Action>
    <ns:Open>?</ns:Open>
    <!--Optional:-->
    <ns:Location>?</ns:Location>
    <ns:Type>?</ns:Type>
    <ns:SubType>?</ns:SubType>
    <!--Optional:-->
    <ns:ExpiryTimestamp>?</ns:ExpiryTimestamp>
    <!--Optional:-->
    <ns:Comment>?</ns:Comment>
    <!--Optional:-->
    <ns:ItemNumber>?</ns:ItemNumber>
    <!--Optional:-->
    <ns:Notifications>?</ns:Notifications>
    <ns:CreatedTerminal>?</ns:CreatedTerminal>
    <ns:CreatedTimestamp>?</ns:CreatedTimestamp>
    <!--Optional:-->
    <ns:ClosedBy>?</ns:ClosedBy>
    <!--Optional:-->
    <ns:ClosedComments>?</ns:ClosedComments>
    <!--Optional:-->
    <ns:ClosedTerminal>?</ns:ClosedTerminal>
    <!--Optional:-->
    <ns:ClosedTimestamp>?</ns:ClosedTimestamp>
    </real:Diversion>
    </soapenv:Body>
    </soapenv:Envelope>
    Now the third party sends a HospitalDiversionMessage in this format_
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://amb.com/cad/RealTimeService" xmlns:ns="http://schemas.com/cad/datamodel/divert/1.0.0">
    <soapenv:Header/>
    <soapenv:Body>
    <ns0:Diversion>
    <ns0:Action>?</ns0:Action>
    <ns0:Open>?</ns0:Open>
    <!--Optional:-->
    <ns0:Location>?</ns0:Location>
    <ns0:Type>?</ns0:Type>
    <ns0:SubType>?</ns0:SubType>
    <!--Optional:-->
    <ns0:ExpiryTimestamp>?</ns0:ExpiryTimestamp>
    <!--Optional:-->
    <ns0:Comment>?</ns0:Comment>
    <!--Optional:-->
    <ns0:ItemNumber>?</ns0:ItemNumber>
    <!--Optional:-->
    <ns0:Notifications>?</ns0:Notifications>
    <ns0:CreatedTerminal>?</ns0:CreatedTerminal>
    <ns0:CreatedTimestamp>?</ns0:CreatedTimestamp>
    <!--Optional:-->
    <ns0:ClosedBy>?</ns0:ClosedBy>
    <!--Optional:-->
    <ns0:ClosedComments>?</ns0:ClosedComments>
    <!--Optional:-->
    <ns0:ClosedTerminal>?</ns0:ClosedTerminal>
    <!--Optional:-->
    <ns0:ClosedTimestamp>?</ns0:ClosedTimestamp>
    </ns0:Diversion>
    </soapenv:Body>
    </soapenv:Envelope>
    Questions*
    1) I cannot figure out how the SOAPUI tool or SOA substitutes "real" as the namespace prefix for the WSDL based HospitalDiversionMessage and what I need to do at my end to match the message structure as per what the third party needs.
    2) I need ns0 namespace prefix to whole of Diversion xml element. Currently it is "real" at top Diversion element and "ns" for its children
    Please suggest, I can attach the other imported XSD if need be.
    Thanks
    Edited by: user5108636 on Jun 13, 2011 6:55 PM
    Edited by: user5108636 on Jun 13, 2011 6:57 PM
    Edited by: user5108636 on Jun 13, 2011 7:02 PM

    Questions
    1) I cannot figure out how the SOAPUI tool or SOA substitutes "real" as the namespace prefix for the WSDL based HospitalDiversionMessage and what I need to do at my end to match the message structure as per what the third party needs.The xml namespace suffixes like real and ns0 are just references used by the XML Parsers. For that matter the "real" can be xyz as well.
    You dont need to make any changes as long as the xml namespace suffixes refer to the same namespace.
    If you see the first soapUI xml and the third party xml have the same namespace references and hence it is not a problem:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:real="*http://amb.com/cad/RealTimeService*" xmlns:ns="http://schemas.com/cad/datamodel/divert/1.0.0">
    <soapenv:Header/>
    <soapenv:Body>
    <*real*:Diversion>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="*http://amb.com/cad/RealTimeService*" xmlns:ns="http://schemas.com/cad/datamodel/divert/1.0.0">
    <soapenv:Header/>
    <soapenv:Body>
    <*ns0*:Diversion>
    2) I need ns0 namespace prefix to whole of Diversion xml element. Currently it is "real" at top Diversion element and "ns" for its childrenBased on this, logically both the xmls represent the same xml message. And hence you dont need to make any changes.
    Please refer to the basics of xml namespaces using the following links:
    http://en.wikipedia.org/wiki/XML_namespace
    http://zvon.org/comp/r/tut-Namespace.html#Pages~Introduction
    Let us know if you still need clarification.
    Hope this helps.
    Thanks,
    Patrick

Maybe you are looking for

  • Same Apple ID and password

    My husband and I both have the same user name and password. When we downloaded find my phone both devices show the location of my phone. How do we get my husband's phone to show up on one of the devices? Have iphone 5s, IOS 7.1.1,

  • Not Working for Youtube

    I have a 32-bit Vista and IE 8. I install Flash 10 yesterday. It shows up on my programs. I have enabled it on IE tools. But I can't see videos on youtube or other sites that use flash. I went to the testing page and the video does not work. I've tri

  • Can I get Apple Store's e-mail address for customers?

    Can I get Apple Store's e-mail address for customers? My ipad mini with Retina has been delivered to wrong address.

  • Auto attach jpg files to image fields

    I create a form with multi text fields and multi image fields in LiveCycle Designer. Each text field will be filled with image path name. Is it possible to write a routine in form to automatically attach each image file name speicifed in text field i

  • Both HP8000 (C4086A) networked printers truncate several characters left margin after Windows Update

    Our network is a Small Business Windows 2003 network. After the Windows Updates this month both of our HP8000 (C4086A) networked printers truncate several characters left margin; and it doesn't make a difference what the OS is, Windows XP Pro or Wind