Wednesday, 7 January 2009

Xpath error in BPEL assign after transform step

Recently I ran into an xpath error in an assign step in BPEL. The error denoted that the xpath expression is in error because of a node not found. Unfortunately it does not quite clearly state if it is about the "from"-xpath expresssion or the "to"-expression. And strangely enough the copy-rule-wizard lets you select the proper element, so the xpath-expression is clearly correct!

I found out that in this case I had a xslt-transform-step somewhere before the assign step. In this step I initialized the variable, but in the later assign step I assigned some other elements that I could not determine during the transform, because these values came from other variables.
In the XSLT I did not explicitly fill the elements that I assigned later. Apparently the transform step creates only those elements that are explicitly named in the XSLT. Those that are not defaulted or filled, are thus not created.

I solved it by adding the node element to the xslt, filling it with a simple xsl:text element with a space or something.

So I conclude that an non-existing node is apparently not the same as an empty element!

1 comment :

Anonymous said...

Good one Darwin, Thanx it really worked good idea

Thank you,
kumar