Hi,
You have to use the XMLBeans XmlCursor API like this
ReferencePropertiesType rp = responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBrowserSessionReference().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().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:
CreateShibbolethBrowserSessionResponseDocument.Factory.parse(byteInputHi 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 =
);
log.info("ID:" +
responseDoc.getCreateShibbolethBrowserSessionResponse().getShibbolethBrowser SessionReference().getReferenceProperties());
xmlns:shib="http://ShibbolethBrowserSession/ShibbolethBrowserSession.xsd"However, this prints out:
ID:<xml-fragment
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]
-- My place : http://user.cs.tu-berlin.de/~lischke
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
