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]

Reply via email to