Hi Shahzad,
using the wsfx-addressing and wsa-xmlbeans - way, your solution could look
like that:
QName qname = new
QName("http://ShibbolethBrowserSession/ShibbolethBrowserSession.wsdl","ResourceID");
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().getShibbolethBrowserSessionReference().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]