You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by jcaristi <jc...@whisolutions.com> on 2008/10/07 17:12:51 UTC

Re: Is there a bug with Axiom XPath and Multiple namespaces?

This seems to be an issue that is related to how XML messages are processed
in Axis2.  I have simplified my example and have noticed that XPath
expressions function differently depending on how the XML fragment was
constructed.  I cannot get an XPath expression to work in an Axis2 service,
but I can use the exact same expression on the exact same xml fragment
(created with StaXOMBuilder), and it works.

Here is a sample XML:

<ns:makesGet
xmlns:ns="http://www.whisolutions.com/PartSelectService/2008-10-07">
	<makesGetParms>
		<PSSAccessKey>Joe</PSSAccessKey>
		<Password>1</Password>
		<Year>1998</Year>
		<UseConfig>y</UseConfig>
		<Version>2008-10-07</Version>
            <!--You may enter ANY elements at this point-->
	</makesGetParms>
</ns:makesGet>

The following code returns results when the XML was built with the
StaXOMBuilder.  It does not return results inside an Axis2 web service, for
the same fragment:

String xpathString = "/a:makesGet/makesGetParms/PSSAccessKey";
AXIOMXPath xpathExpression = new AXIOMXPath (xpathString);
xpathExpression.addNamespace("a",
"http://www.whisolutions.com/PartSelectService/2008-10-07");
List listOfNodes =  xpathExpression.selectNodes(documentElement);

In the web service, I am using the OMElement that is passed to me by the
RawXMLINOutMessageReceiver.  When I get this element, I process it as
follows, before trying the XPath:

element.build();
element.detach();

I also tried declaring the namespace:

element.declareNamespace("http://www.whisolutions.com/PartSelectService/2008-10-07",
"ns");

In Eclipse, here are the base properties of the OMElement in an Axis2 web
service (Note that when I declare the namespace, I see it, but it doesn't
make the XPath work):
     
http://www.nabble.com/file/p19860410/soap.jpg 

Here are the properties of the OMElement built by the StaxOMBuilder:

http://www.nabble.com/file/p19860410/stax.jpg 

Has anyone successfully used XPath in a web service where the WSDL has a
namespace?

Here is my current WSDL:

http://www.nabble.com/file/p19860410/PartSelect_v1_0.wsdl
PartSelect_v1_0.wsdl 


  
-- 
View this message in context: http://www.nabble.com/Is-there-a-bug-with-Axiom-XPath-and-Multiple-namespaces--tp19723540p19860410.html
Sent from the Axis - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org