none
Promote To DestinationPartyName From Message Data RRS feed

  • Question

  •  

    I have an Orchestration setup that connects to a WCF Service that pulls 856 data from my ERP system.  One of the fields in that data is the partner Name that this data belongs to.  I'd like to promote that data to the DestinationPartyName for EDI enveloping.  Should I use the Rule Engine to do that, or create a custom pipeline to do that?  Either solution, I'm afraid to say, I have never done before.  So, if someone could provide me with some details to accomplish this I would greatly appreciate it.  Again, all I need is to take data from my PartyName field and send it to the EDI.DestinationPartyName field for EDI enveloping.

     

    Thank you,

     

    David

    Wednesday, June 4, 2008 5:34 PM

Answers

  • Ok,

     

    The problem happened to be the fact that in my BizTalk solution, the namespace included "EDI".  When the XLANGs tried to find DestinationPartyName it looked in my Business.EDI namespace first and since it couldn't find it there it threw the error.

     

    Solution: I had to go through my BizTalk solution and change all of the namespaces to Edi (Business.Edi) instead of EDI.  Once I did that (an hour later) the expression worked just fine.

     

    Thanks for all the help,

     

    David

    Wednesday, June 11, 2008 9:20 PM

All replies

  • Hi David,

     

    In order to promote a property from the message content you need to write an orchestretation or custom pipeline components. For samples of pipelines you can see http://msdn.microsoft.com/en-us/library/aa578544.aspx. For samples of orchestrations you can see http://msdn.microsoft.com/en-us/library/aa561986.aspx.

     

    Most probably since you already have an orchestration, you can do something like the following in your orchestration to promote the property

     

    Say your bts message is stored in variable btsMessage, then

    btsMessage(EDI.DestinationPartyName) = <party name> will promote the property EDI.DestinationPartyName in that message.

     

    Thanks,

    Koushik

    Thursday, June 5, 2008 1:50 PM
  • Thanks Koushik,

     

    I've added a Message Assignment shape to my Construct Message shape and put the following code in it:

     

    EDI_856_Outbound(EDI.DestinationPartyName) = "DestParty";

     

    This enters fine, but when I try to build I get:

     

    The type or namespace name "DestinationPartyName" does not exist in the namespace 'Business.EDI' (are you missing an assembly reference?)

     

    I double-click the error and it opens the source code for the orchestration.  Do I want to add a "using" statement to the Edi.BaseArtifacts?  It doesn't seem to like that anyway.  Any ideas?  I'm sure it's something simple I'm missing.

     

    Thanks again,

    David

    Thursday, June 5, 2008 9:32 PM
  • You need to Refer "Microsoft.BizTalk.Edi.BaseArtifacts.dll" in your BizTalk Project. I just tried it and it worked for me.

    Friday, June 6, 2008 7:46 AM
  • I thought about that and had already had a reference to the BaseArtifacts in my Orchestration project, but I was still getting this error.  So, I went ahead and added it to all of the projects in my solution (maps, pipelines, & schemas) and I'm afraid I am still getting the error.

     

    When I write the code in the Assignment block the Intellisense pulls it up just fine, but I am getting this error when I build.  I'm afraid I've opened a different can of worms here.  Anybody have any ideas?  Sorry to prolong this thread, but your help is greatly appreciated!

     

    David

    Friday, June 6, 2008 3:10 PM
  • Ok,

     

    The problem happened to be the fact that in my BizTalk solution, the namespace included "EDI".  When the XLANGs tried to find DestinationPartyName it looked in my Business.EDI namespace first and since it couldn't find it there it threw the error.

     

    Solution: I had to go through my BizTalk solution and change all of the namespaces to Edi (Business.Edi) instead of EDI.  Once I did that (an hour later) the expression worked just fine.

     

    Thanks for all the help,

     

    David

    Wednesday, June 11, 2008 9:20 PM
  • HI ,

     

     

    I am having same issue and even after changing solution namespace it dosen't wrok.

     

    error - identifier 'DestinationPartyName' does not exist in 'Namespace'; are you missing an assembly reference? 

     

    any help would be appriciated.

     

    Thanks

     

    Suri

     

    Friday, July 25, 2008 9:44 PM
  • finally got it! da!

     

    i got to find and replace manually in the namspace to EDI  in odx.cs file.

     

    ss

    Friday, July 25, 2008 10:26 PM
  • I ran into the same issue, 'CompanyX.BizTalk.EDI.Project' syntax for namespaces appears to create a problem in certain instances when using anything from the MS EDI namespace like the EDI.DestinationPartyName message context property.

    It's a bit strange. It seems to work okay if I just have an orchestration in the project, but as soon as I add something like a schema with that same namespace it blows up with the following error:

    The type or namespace name 'DestinationPartyName' does not exist in the namespace 'CompanyX.BizTalk.EDI' (are you missing an assembly reference?) 

    Seems like a bug in my opinion and I have been unable to find a workaround since the orchestration.odx.cs file appears to be generated on each build. I have several projects that will now need to be renamed.
    Wednesday, January 7, 2009 3:43 AM