BizTalk Server Orchestration - RE: Problem using XPath selectSingleNode after receiving xml document

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > October 2004 > RE: Problem using XPath selectSingleNode after receiving xml document





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author RE: Problem using XPath selectSingleNode after receiving xml document
Matt Meleski

2004-10-24, 8:46 pm

John,

I was having the exact same problem.

The XML I was retrieving from my .Net class looked
something like this :


<Orders xmlns="http://myorders">
<Order amount="100" />
</Orders>

When I generated a sample instance from BizTalk in VS2003 it looked like:

<ns0:Orders xmlns:ns0="http://myorders">
<Order amount="100" />
</ns0:Orders>

When I used xpath in an expression shape on the first sample of XML (from
the .net class) it did not work.

But : the xpath worked on the second sample of XML (generated in VS 2003).

My solution was in my Orchestration :
1) Create two Orchestation Messages of my Order.xsd schema.
2) Have the first message constructed by the XML generated by the .net
assembly
3) Have the second message generated by using a map, with the source being
the First message. The map has the source and destination specifications as
Order.xsd.

When the second message is created it looks like below :
<ns0:Orders xmlns:ns0="http://myorders">
<Order amount="100" />
</ns0:Orders>
Therefore xpath on this xml worked.

4) Note : yes I am creating an exact duplicate of the first message , in the
second message with the only difference being nso in the second message.

Matt





"John Smith" wrote:

> Hi,
>
> I have a serious problem using xpath queries after receiving a xml document
> with a .Net class. I use an Expression shape to initialize my class and use
> a method to send the received message to this class.
>
> Everything works fine until i want to use a XPath query to select some
> nodes. I get a null reference to a node, though I know it exists. If I use
> the same code, but then loading the xml document from the file system I have
> no problems!
>
> Does anybody has an idea?
>
> This is a part of my code:
>
> aXmlDoc = (XmlDocument) msg[0].RetrieveAs(typeof(XmlDocument));
> aSalesOrders = aXmlDoc.DocumentElement.ChildNodes;
>
> for (int i=0;i<aSalesOrders.Count;i++)
>
> {
>
> aTo = aSalesOrders[i].SelectSingleNode("ShipTo/Name").InnerText;
>
>
>
> Thanks,
> Bas Dirkse (b_dirkse@hotmail.com)
>
>
>
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com