I used the XMLCursor way. It's a nice 2 liner!! Thanks guys for your help! That's ONE problem out of the way!!
Shahzad -----Original Message----- From: Michael Marks [mailto:[EMAIL PROTECTED] Sent: 22 March 2005 13:57 To: [email protected] Subject: Re: extracting the resource ID This is another working way :-). Mike > Hi, > > You have to use the XMLBeans XmlCursor API like this > > ReferencePropertiesType rp = > responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBrowser SessionReference().getReferenceProperties()Shahzad > > XmlCursor xc = rp.newCursor(); > > Now you can use the XmlCursor API to get the Elements inside the RP. > > stefan > > Younas wrote: > > >That looks like a nice easy way! > > > >But... > > > >MessageElement resourceIDElement = > >responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBr >owser > >SessionReference().getReferenceProperties().get(qname); > > > >When I do this, it complains that "get" method is not defined. This > >is because a "ReferencePropertiesType" is returned by the > >getReferenceProperties() method. > > > >How can I resolve this? > > > >Thanks > >Shahzad > > > >-----Original Message----- > >From: Michael Marks [mailto:[EMAIL PROTECTED] > >Sent: 22 March 2005 13:38 > >To: [email protected] > >Subject: Re: extracting the resource ID > > > >Hi Shahzad, > > > >using the wsfx-addressing and wsa-xmlbeans - way, your solution could > look > >like that: > > > >QName qname = new > >QName("http://ShibbolethBrowserSession/ShibbolethBrowserSession.wsdl"," >Resou > >rceID"); > >MessageElement resourceIDElement = > epr.getReferenceProperties().get(qname); > >String id = resourceIDElement.getNodeValue(); > > > > > >Good Luck > >Michael > > > > > > > >>Hi Shahzad, > >> > >>Sorry for my last mail. I did not read, that you mean the client side. > >>I have some questions to your use case. It seems, you are returning > >>a WS-A endpointreference which contains your id as a ResourceProperty. > >>On the client side, there are also many ways to rome :-) > >> > >>First one: > >>you could make use of the WSFX-Addressing project. Just create a > >>wsdl which makes use of ws-addressing endpointreference type and > >>generate the client code with the "normal" Axis Framework and the > >>wsfx-addressing project. > >>If you choose this way and you need more to know, on how to achieve > >>this please ask. > >> > >>Second one: > >>you could use XMLBeans on the client side too. Just parse the > >>response Body into your XMLBean and use the methods from XMLBeans to > >>extract the RP. There is also a wsa-xbeans library out there, which > >>you could > use. > >> > >>Just gimme more info :-) > >> > >>stefan > >> > >>Stefan Lischke wrote: > >> > >> > >> > >>>Hi Shahzad, > >>> > >>>There are many way to do this. > >>> > >>>The first one: > >>> > >>>In your service Methode, just call: > >>> > >>>Resource rs = getResource(); > >>>Object id = rs.getID(); > >>> > >>>the second one, > >>>In your service Methode, just call: > >>>ResourceKey rk =getResourceKey() > >>>Object id = rk.getValue(). > >>> > >>>But remember you Service must extend the AbstractPortType, or one > >>>of the classes that extends AbstractPortType > >>> > >>>hope that helps > >>> > >>>stefan > >>> > >>>Shahzad Younas wrote: > >>> > >>> > >>> > >>>>Hi, > >>>> > >>>>I am trying to (on the client side) extract the resource ID from a > >>>>soap body of an incoming message. > >>>> > >>>>byte[] tmp = senv.getBody().getFirstChild().toString().getBytes(); > >>>> ByteArrayInputStream byteInput = new ByteArrayInputStream (tmp); > >>>> CreateShibbolethBrowserSessionResponseDocument responseDoc = > >>>> > >>>> > >>>> > >>CreateShibbolethBrowserSessionResponseDocument.Factory.parse(byteInp > >>ut > >>); > >> > >> > >>>> log.info("ID:" + > >>>> > >>>> > >>>> > >responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBr >owser > >SessionReference().getReferenceProperties()); > > > > > > > >>>> > >>>>However, this prints out: > >>>> > >>>>ID:<xml-fragment > >>>> > >>>> > >>>> > >>xmlns:shib="http://ShibbolethBrowserSession/ShibbolethBrowserSession.xsd" > >> > >> > >>>>xmlns:add="http://schemas.xmlsoap.org/ws/2004/08/addressing" > >>>> > >>>> > >>>> > >xmlns:shib1="http://ShibbolethBrowserSession/ShibbolethBrowserSession.w >sdl"> > > > > > > > >>>> > >>>> > >>>> > >><shib1:ResourceID>ShibbolethBrowserSessionResource1</shib1:ResourceI > >>D> > >> > >> > >>>></xml-fragment> > >>>> > >>>>How can I JUST extract the "ResourceID" ? I cant seem to see any > >>>>"get" methods for going this. > >>>> > >>>>Thank you > >>>>Shahzad > >>>> > >>>> > >>> > >>> > >>> > >>> > >>-- > >>My place : http://user.cs.tu-berlin.de/~lischke > >> > >> > >>-------------------------------------------------------------------- > >>- 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] > > > > > > > > > > > -- > My place : http://user.cs.tu-berlin.de/~lischke > > > --------------------------------------------------------------------- > 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]
