|
| Hi,
as they say ... upon further review ...
This is a bad error, i.e. it does not directly describe what the problem is.
You will get this error when the XPath is invalid or inappropriate.
In your case:
xpath(TestMsg,"/*[local-name()='DS1_002F_HM_C_ZOILMDD2_TAS_01' and
namespace-uri()='http://DS1_002F_HM_C_ZOILMDD2_TAS_01.V3']/*[local-name()='E2OILGM000GRP'
and namespace-uri()='']/*[local-name()='E1OILGM' and
namespace-uri()='']/*[local-name()='DATAHEADERREC' and
namespace-uri()='']/*[local-name()='DOCNUM' and namespace-uri()='']") =
vGUID;
is most probably returning a node set [with all matching nodes] or perhaps 0
nodes.
The way you are using it you only want to select 1 node. Suppose 'E1OILGM'
repeats then adding a filter would solve the problem:
....]/*[local-name()='E1OILGM' and namespace-uri()=''][1]
However that may or may not be what you want. If you wanted to set all
matching nodes, you would have to know how many there are and set each one
individually i.e [1] ... [2] ...
There may be a smarter way of doing this with the xpath function, but I
would be tempted to do it in a map. i.e. bring xslt in to play and not just
xpath based assignments.
m
"Nateshan" wrote:
> Mark,
>
> The field to which I am trying to assign value will appear multiple
> times...So I cannot promote it or make it distinguished field...So I am using
> xpath in orchestration to assign values....But since the node may appear
> multiple times...it is throwing error. I am getting the same error even if
> iam using rules to assign values.
> Is there any approach to do this...If so pls let me know...
> Thanks
> Nateshan
>
>
|
|