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]

Reply via email to