empty getRMD() reply

View: New views
3 Messages — Rating Filter:   Alert me  

empty getRMD() reply

by Jonas Buys-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

After finally getting WSRP change notifications working for metrics, I encountered some new issues :s  Wasn't able to find out the reason of the following issues with the NetBeans debugger so far.

1. I have an RMD file, which according to the debugger and stack traces is
parsed, and the metadata is stored in a metadatadescriptor object as part of the resource property collection object (so SimpleWsResource.createMetadataDescriptor stores the metadata and wsrp.getMetadata() in my custom capability works fine).

But when I try to fetch the RMD file using
WsrfMetadataExchangeClient.getRMD() in my client, the result is a n empty (null)
MetadataDescriptor.  The traces on my the client object shows this
payload as the reply:

    <soapenv:Body>
        <wsx:Metadata
            xmlns:tns="http://axis2.platform.core.muse.apache.org"
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"/>
    </soapenv:Body>

The issue is reproducable using both MUSE 2.2.0 and 2.3.0 (binary).

2. Something that struck my attention is that the generated RMD file
by WSDL2Java (WEB_INF\classes\wsdl) starts with

<wsrmd:Definitions xmlns:wsrmd="http://docs.oasis-open.org/wsrf/rmd-1">
    <wsrmd:MetadataDescriptor interface="myns:JmplayerPortType"
        name="JmplayerMetadata"
        wsdlLocation="http://docs.oasis-open.org/wsrf/rmd-1 
Jmplayer.wsdl" xmlns:myns="http://pats.ua.ac.be/adss/jb/mplayer">

While I defined this in the original RMD file:

<rmd:MetadataDescriptor
xmlns:myns="http://pats.ua.ac.be/adss/jb/mplayer"
name="jmplayerMetadata" interface="myns:JmplayerPortType"
       wsdlLocation="http://pats.ua.ac.be/adss/jb/mplayer Jmplayer.wsdl" >

The listing above have different values for the wsdlLocation attribute of the metadatadescriptor element.  I noticed the wsdlLocation in the samples is not changed, yet when I run wsdl2java on the sample's WSDLs, I notice in the generated RMD the same thing, viz. that wsdlLocation is set to "http://docs.oasis-open.org/wsrf/rmd-1".  Is this normal? I tried
altering the RMD several times, but in vain.

3. Besides that, is it possible to define a RP in an RMD with two <muws2:Capability> entries?  For example a metric property which is attributed Metrics as well as my custom capability (also done in OASIS MUWS primer).

If anyone can help me on this one, even if it is sending your WSDL and
RMD files to try things out, I would be very grateful!

--
Jonas Buys



Re: empty getRMD() reply

by Chris Twiner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Jonas,

appologies for not being able to help further, I just simply haven't
had the time.  What changes did you make to enable the
propertyCollection?  If the problem is something that can be detected
in Muse then it should at least log a warning.

Regarding Muse 2.3.0 do you mean HEAD from svn? I ask as what is in
head more closely resembles 2.2.1 .

I may have some time on Friday to look at these issues in detail but
certainly 2 looks like a bug, I have previously only used tptp for
editing the rmds etc so I definitely have not experienced this. For 1
is the epr correct in the request for the resource?

cheers,
Chris

On Wed, Mar 25, 2009 at 1:47 AM, Jonas Buys <jonas_buys@...> wrote:

> Hi,
>
> After finally getting WSRP change notifications working for metrics, I
> encountered some new issues :s  Wasn't able to find out the reason of the
> following issues with the NetBeans debugger so far.
>
> 1. I have an RMD file, which according to the debugger and stack traces is
> parsed, and the metadata is stored in a metadatadescriptor object as part of
> the resource property collection object (so
> SimpleWsResource.createMetadataDescriptor stores the metadata and
> wsrp.getMetadata() in my custom capability works fine).
>
> But when I try to fetch the RMD file using
> WsrfMetadataExchangeClient.getRMD() in my client, the result is a n empty
> (null)
> MetadataDescriptor.  The traces on my the client object shows this
> payload as the reply:
>
>     <soapenv:Body>
>         <wsx:Metadata
>             xmlns:tns="http://axis2.platform.core.muse.apache.org"
> xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"/>
>     </soapenv:Body>
>
> The issue is reproducable using both MUSE 2.2.0 and 2.3.0 (binary).
>
> 2. Something that struck my attention is that the generated RMD file
> by WSDL2Java (WEB_INF\classes\wsdl) starts with
>
> <wsrmd:Definitions xmlns:wsrmd="http://docs.oasis-open.org/wsrf/rmd-1">
>     <wsrmd:MetadataDescriptor interface="myns:JmplayerPortType"
>         name="JmplayerMetadata"
>         wsdlLocation="http://docs.oasis-open.org/wsrf/rmd-1
> Jmplayer.wsdl" xmlns:myns="http://pats.ua.ac.be/adss/jb/mplayer">
>
> While I defined this in the original RMD file:
>
> <rmd:MetadataDescriptor
> xmlns:myns="http://pats.ua.ac.be/adss/jb/mplayer"
> name="jmplayerMetadata" interface="myns:JmplayerPortType"
>        wsdlLocation="http://pats.ua.ac.be/adss/jb/mplayer Jmplayer.wsdl" >
>
> The listing above have different values for the wsdlLocation attribute of
> the metadatadescriptor element.  I noticed the wsdlLocation in the samples
> is not changed, yet when I run wsdl2java on the sample's WSDLs, I notice in
> the generated RMD the same thing, viz. that wsdlLocation is set to
> "http://docs.oasis-open.org/wsrf/rmd-1".  Is this normal? I tried
> altering the RMD several times, but in vain.
>
> 3. Besides that, is it possible to define a RP in an RMD with two
> <muws2:Capability> entries?  For example a metric property which is
> attributed Metrics as well as my custom capability (also done in OASIS MUWS
> primer).
>
> If anyone can help me on this one, even if it is sending your WSDL and
> RMD files to try things out, I would be very grateful!
>
> --
> Jonas Buys
>

Re: empty getRMD() reply

by Jonas Buys-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Chris,

--- On Wed, 3/25/09, Chris Twiner <chris.twiner@...> wrote:
> appologies for not being able to help further, I just
> simply haven't had the time.  What changes did you make to enable the
> propertyCollection?  If the problem is something that can
> be detected in Muse then it should at least log a warning.

Problem turned out to be an empty set of ChangeListeners when doing wsrp.getChangeListeners().  I was able to make MUSE add a changelistener for a metric "CPUload", but to do that I could only add one <muws2:Capability> element in the RMD file with value of Metrics capability URI.  So it doesn't work if I put in there Metrics as well as the URI of MyCapability (which should work according to the OASIS MUWS primer).

> Regarding Muse 2.3.0 do you mean HEAD from svn? I ask as

Indeed (muse-2.3.0-2008-05-29-02-00).


> I may have some time on Friday to look at these issues in
> detail but certainly 2 looks like a bug

Indeed, I've tried to edit the generated RMD file in the project's /WEB_INF/classes/wsdl dir, but that doesn't help, so maybe there's some other place I need to modify.

> For 1 is the epr correct in the request for the resource?

I did a stack trace on client-side as well as service-side, and WSA stuff is all correct.  Also the reply is correctly sent, only the body appears to be empty.  I'll run the debugger again and see whether I can find out more.

Thx, J.