none
How to update namespace of already created multipart map RRS feed

  • Question

  • Hi Folks,

    I have created my entire solution where we are fetching data from the database.

    Initially we have created the schema-> generated items pointing towards our Database stored procedure.

    Keeping that point  we have done mapping with that input.

    But now the requirement has changed and the namespace has changed to the previous which we were using.

    I have generated the schema with the new namespace but when I am trying to reference it into map then mapping is gone.

    Is there any solution which allows me to deal with this solution , else I have to re-work on all the maps mapping  since the mapping is gone.

    NOTE: I am using multi-part message in mapping.

    I have tried updating the map by opening it in map(xml-editor) but it is not showing any result there.

    Any help and suggestion will be appreciated.

    Monday, August 27, 2018 10:33 AM

Answers

  • If you regenerated the schemas, the filename is likely different as well.

    When updating a Map, you have to update at least two Attributes:

    <xs:import schemaLocation=".\X12_00501_856.xsd" namespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" />

    Both the schemaLocation and the namespace.  I've done this many, many times and it does work, 100%.

    One thing that can make it easier is to create a new Multi-Input Map with the new schemas, then compare/copy the imports to your existing map.

    This is all you should need to do if the structure is the same.  If the Root Node or any other node names changed, you will need to Replace those as well.  This also works 100%, you just need to carefully select and right part of the paths:

    /*[local-name()='InputMessagePart_0']/*[local-name()='X12_00501_856']

    For example, then replace with:

    /*[local-name()='InputMessagePart_0']/*[local-name()='MyNewRoodNodeName']


    Monday, August 27, 2018 1:14 PM
    Moderator

All replies

  • Open map designer and replace with new schema(s)
    If this does not work something else has changed in your schema other than target namespace

    Could be the property "Element FormDefault" in the main <schema> node in the tree list to the left of schema designer

    /Peter


    When asking a question please be as thoroughly as possible this will make it easier to assist you http://www.catb.org/esr/faqs/smart-questions.html

    Monday, August 27, 2018 10:56 AM
  • Hi,

    I checked in map designed but as in case of normal map it is getting open in map designer.

    but for the multi part message nothing is getting open.

    Monday, August 27, 2018 11:12 AM
  • Do you have all source code?
    Afaik the map should open with the old schemas?

    Pleasae note: You need to create a new multipart message schema from the orchestration designer as I udnerstand it

    /Peter


    When asking a question please be as thoroughly as possible this will make it easier to assist you http://www.catb.org/esr/faqs/smart-questions.html

    Monday, August 27, 2018 11:34 AM
  • For clarity, are you using a Multi-Part Message or a Multi-Input Map?

    Monday, August 27, 2018 12:25 PM
    Moderator
  • Its a multi input map . whose one input comes from the newly updated namespace schema.
    But after updating the namespace of the schema it is not showing the contents (elements) of the schema.

    Thanks
    Monday, August 27, 2018 12:40 PM
  • If you regenerated the schemas, the filename is likely different as well.

    When updating a Map, you have to update at least two Attributes:

    <xs:import schemaLocation=".\X12_00501_856.xsd" namespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" />

    Both the schemaLocation and the namespace.  I've done this many, many times and it does work, 100%.

    One thing that can make it easier is to create a new Multi-Input Map with the new schemas, then compare/copy the imports to your existing map.

    This is all you should need to do if the structure is the same.  If the Root Node or any other node names changed, you will need to Replace those as well.  This also works 100%, you just need to carefully select and right part of the paths:

    /*[local-name()='InputMessagePart_0']/*[local-name()='X12_00501_856']

    For example, then replace with:

    /*[local-name()='InputMessagePart_0']/*[local-name()='MyNewRoodNodeName']


    Monday, August 27, 2018 1:14 PM
    Moderator