Thx, I just realizd that I used the min-servlet the whole time *g. Before MUse 2.1 the samples where based on axis2, but now the samples base on the mini-plattform. The tutorial and documentation should be updated. http://ws.apache.org/muse/docs/2.1.0 /manual/samples/build-and-deployment.html#axis2
I just tested my Registry with the axis2-environment and I have the same mysterious text-nodes... I will just handle them on client side. Donnerstag, 1. Februar 2007 14:59 To: [email protected] cc: From: Daniel Jemiolo <[EMAIL PROTECTED]> Subject: Re: Empty nodes as result of queryResourceProperties() you just use this command: wsdl2java -wsdl YourWSDL.wsdl -mini instead of this one: wsdl2java -wsdl YourWSDL.wsdl -axis2 If you want to compare the output, make a new directory with a copy of your WSDL(s), and run the tool. you still get a WAR/JavaSource layout, and an ant script to build the .war file. The XML parser is Apache Xerces. Christian Ewers <[EMAIL PROTECTED]> wrote on 02/01/2007 03:48:33 AM: > > Hi, thanks for your answer. I thought about an axis2 problem... > In the moment I check alle nodes to be sure to handle and Element. > What do I have to change to use the mini-servlet? Just some changes in the > muse.xml and the used librares? > I don't have to change my capability-implementation, do I? > By using the mini-servlet I don't use any Axis2 components? Which > xml-parser will be used? > Tx, > Christian > > Mittwoch, 31. Januar 2007 17:45 > To: [email protected] > cc: > From: Daniel Jemiolo <[EMAIL PROTECTED]> > Subject: Re: Empty nodes as result of queryResourceProperties() > > > okay, I've looked into the QueryRP implementation, and here's what I've > found: > > 1. The WSRP doc that the XPath query is executed against is all Elements - > I expected this given that the WSRP doc is retrieved using > GetResourcePropertyDocument(), which uses XmlUtils.getElement*() methods > to ensure that it only accesses DOM Element objects (we'd see > ClassCastExceptions if this weren't the case). > > 2. Even if your XPath were off, and it was matching empty text nodes, > there aren't any text nodes to match *at the time of the query*. > > 3. There are empty text nodes by the time you receive the message on the > client. > > This led me to guess that the empty nodes were inserted either by the > DOM-to-Axiom conversion (Axis2 uses Axiom for all of its XML/SOAP > manipulation). My tests show that this is the case - for every element in > a DOM (including the root), a text node is added. The class that is > converting the XML to Axiom is > org.apache.axiom.om.impl.builder.StAXOMBuilder. > > I'm not really sure what to do about this. I guess I could update the > AxisEnvironment.convertToAxiom() method to look through the SOAP message > and delete all empty text nodes. I'm not sure what a full tree search > would do to performance, and we're already taking a hit in the DOM -> > Axiom conversion, so let's try to avoid this for now. > > So, two workarounds, depending on your scenario: > > 1. Add a client-side check to make sure your Nodes are indeed Elements. > > or > > 2. Try using the -mini flag from wsdl2java to get the Mini SOAP engine. > It's a simple SOAP servlet that doesn't do any XML conversion before > putting your response on the wire. It's meant to be for J2ME users, but > it'll work on J2SE as well. > > > > Christian Ewers <[EMAIL PROTECTED]> wrote on 01/31/2007 03:53:33 AM: > > > > > Hi, > > the nodes text is just a string of blanks. > > > > I call these mothods for each node: > > System.out.println((i++)+" > > \n"+node.getNodeName()+"\n"+XmlUtils.toString(node)); > > System.out.println("##"+node.getNodeValue()+"##"); > > > > > > > > 0 > > #text > > > > > > ## > > ## > > 1 > > wsrf-sg:MemberServiceEPR > > <?xml version="1.0" encoding="UTF-8"?> > > <wsrf-sg:MemberServiceEPR > > xmlns:wsrf-sg="http://docs.oasis-open.org/wsrf/sg-2"> > > <wsa:Address > > xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost: > > 8080/DefaultService/services/PAIResource</wsa:Address> > > <wsa:ReferenceParameters > > xmlns:wsa="http://www.w3.org/2005/08/addressing"> > > <muse-wsa:ResourceId > > > xmlns:muse-wsa="http://ws.apache.org/muse/addressing">uuid:c024ffdd-eb1a- > > f923-6faf-9cfaa551ec55</muse-wsa:ResourceId> > > </wsa:ReferenceParameters> > > </wsrf-sg:MemberServiceEPR> > > > > ##null## > > 2 > > #text > > > > > > ## > > ## > > > > > > > > Dienstag, 30. Januar 2007 16:22 > > To: [email protected] > > cc: > > From: Daniel Jemiolo <[EMAIL PROTECTED]> > > Subject: Re: Empty nodes as result of queryResourceProperties() > > > > > > hmmm. I'm not an XPath expert, but it looks like a bug. What do the text > > nodes say? (can you send the values from getNodeValue()?) > > > > > > > > Christian Ewers <[EMAIL PROTECTED]> wrote on 01/30/2007 10:07:57 AM: > > > > > > > > Hi, > > > > > > I'm using the queryResourceProperties() method to get idle resources > > from a > > > ServiceGroup. > > > My xpath-query is: (sg is the ServiceGroupClient) > > > > > > Node[] eprs = > > > > > > sg.queryResourceProperties("/wsrf-sg:ServiceGroupRP/wsrf-sg:Entry[./wsrf-sg: > > > Content/muws2:OperationalStatus > > > = > > > > > > 'Available']/wsrf-sg:MemberServiceEPR[contains(./wsa:Address,'WSResource')]", > > > "http://www.w3.org/TR/1999/REC-xpath-19991116"); > > > > > > > > > When their aren't any resources availaibe, the result is an correct > > empty > > > node-array. When there are available resources I get them but I get > > > additional "#text"-nodes for each "real" result. > > > For example, when I have one idle resource I get the following result > > for > > > the following loop > > > > > > for (Node node : eprs) { > > > System.out.println((i++)+" > > > \n"+node.getNodeName()+"\n"+XmlUtils.toString(node)); > > > } > > > > > > ----- log----- > > > 0 > > > #text > > > > > > > > > 1 > > > wsrf-sg:MemberServiceEPR > > > <?xml version="1.0" encoding="UTF-8"?> > > > <wsrf-sg:MemberServiceEPR > > > xmlns:wsrf-sg="http://docs.oasis-open.org/wsrf/sg-2"> > > > <wsa:Address > > > xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost: > > > 8080/DefaultService/services/PAIResource</wsa:Address> > > > <wsa:ReferenceParameters > > > xmlns:wsa="http://www.w3.org/2005/08/addressing"> > > > <muse-wsa:ResourceId > > > xmlns:muse-wsa="http://ws.apache.org/muse/addressing">uuid:701e1d9b- > > > fb93-93fc-6242-20de49fa9fba</muse-wsa:ResourceId> > > > </wsa:ReferenceParameters> > > > </wsrf-sg:MemberServiceEPR> > > > > > > 2 > > > #text > > > ------end log------ > > > > > > Does my query result in some empty elements, or is this a bug? > > > > > > Regards, > > > Christian > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
