If you use the wsa-xmlbeans for encapsulating the EndpointReference(asuming an EndpointReference is responsed - as Stefan asked you), then the ReferenceProperties offer the method "get(QName)".
As the ReferenceProperties is an array of xsdAny-Type, you could try "get(0)" like for an ArrayList. The result would be an Object wich could be casted to the correct Classtype (eg. ResourceIDType). But this are all assumptions. As long, as we don't know, what you use for deserializing and serializing your XML-Elements. More Info would be helpful! Michael > That looks like a nice easy way! > > But... > > MessageElement resourceIDElement = > responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBrowser > 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(byteInput > > ); > > >> log.info("ID:" + > > >> > > > responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBrowser > 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.wsdl"> > > > >> > > >> > > <shib1:ResourceID>ShibbolethBrowserSessionResource1</shib1:ResourceID> > > >> </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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
