qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrea Gazzarini" <a.gazzar...@gmail.com>
Subject Re: WS-DM connector : Status of the work
Date Wed, 10 Dec 2008 12:26:37 GMT
Hi Carl, no not yet...I developed the prototype outside the qpid workspace.
In these days I am very busy with my project and I didn't have time to
integrate that.I think next week I'll have time so I'll create a patch.

Best regards,
Andrea

2008/12/9 Carl Trieloff <cctrieloff@redhat.com>

> Andrea Gazzarini wrote:
>
>> Hi devs, I'm fighting with the WS-DM adapter for QMan and I must say that
>> it's a very interesting topic...
>> Just a simple mail to inform you about the status of the work. A first
>> version of the Adapter / Connector is already done (you can see two
>> examples
>> below).
>> The QMan WebService is implementig the following operation :
>>
>> - getMetadata() : this operation comes from WS-DM specs and returns the
>> WSDL
>> (that is, the metadata of a manageable resource);
>>
>> - getResourceProperty(propertyName) : this operation comes from WS-DM
>> specs
>> and returns the value of the requested property. Note that the property is
>> supposed to be part of the QMan web service definition and it isn't a
>> property of a managed object instance. QMan at the moment has only two
>> properties :
>>
>>   1. connectedBrokerCount : how many brokers QMan is connected with;
>>   2. managedInstanceCount : how many manageable instances (that is :
>>
>>   mbeans) are registered under the Q-MAN domain;
>>
>> - getResourcePropertyDocument() :  this operation comes from WS-DM specs
>> and
>> returns an XML containing all the properties of the manageable resource
>> (QMan);
>>
>> - getMultipleResourceProperties(propNames []) : this operation comes from
>> WS-DM specs and returns an array containing the values of the requested
>> properties;
>>
>> - queryNames (jmxQuery): returns an array containings the name of the
>> mbean(s) registered under the Q-MAN domain and matching the given jmx
>> query;
>> For example, if you call this operation with "*" as jmx query, it will
>> return all the mbeans registered under the Q-MAN domain; if you use
>> "*,class=queue" you will obtain all the queue instances;
>>
>> - getManagedEntityAttributeValue(objectName, attributeName) : this is the
>> operation that should be invoked in order to get the value of an attribute
>> of a managed instance (mbean)
>>
>> - invoke(objectName, operationName, arguments[]) : invokes a method on the
>> given mbean instance using the given set of arguments. This is a void
>> method
>> so if the invocation succeeds there's no return value (see the example 1
>> below). Otherwise, if there's an error, a soap fault is generated on the
>> response and sent back to the client (see example 2 below)
>>
>>
>> Example 1 : successfull invocation of purge(int) on a queue instance
>>
>> This is the WS-DM SOAP request for invoking the "invoke" method on QMan
>> (and
>> therefore on the specified managed object instance).
>> In the example below I'm using the "Invoke" operation of the QMan Web
>> Service in order to invoke the purge(int) method on a queue instance.
>>
>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
>>    <soap:Header>
>>        <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> http://127.0.0.1:8080/bridge/services/QMan</wsa:To>
>>        <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> http://amqp.apache.org/qpid/management/qman/Invoke</wsa:Action>
>>        <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> uuid:fe27279e-7426-98f9-a5b4-1ce404014eab</wsa:MessageID>
>>        <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
>>            <wsa:Address>
>> http://www.w3.org/2005/08/addressing/role/anonymous
>> </wsa:Address>
>>        </wsa:From>
>>    </soap:Header>
>>    <soap:Body>
>>        <pfx0:Invoke xmlns:pfx0="
>> http://amqp.apache.org/qpid/management/qman
>> " xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance">
>>            <pfx0:AttributesPart>
>>
>>
>> brokerID=ds23321q-7422-98f1-b5b4-1ci404014cdb,type=Object,package=org.apache.qpid.broker,class=queue,objectID=s24958q-9981-77f1-b5b1-1ci818188cdb
>>            </pfx0:AttributesPart>
>>            <pfx0:OperationName>purge</pfx0:OperationName>
>>            <pfx0:Arguments>
>>                <pfx0:Arguments xsi:type="xsd:int">1</pfx0:Arguments>
>>            </pfx0:Arguments>
>>        </pfx0:Invoke>
>>    </soap:Body>
>> </soap:Envelope>
>>
>> ...and this is the response from QMan! Operation purge was successfully
>> executed.
>>
>> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>> xmlns:wsa="http://www.w3.org/2005/08/addressing">
>>    <soapenv:Header>
>>        <wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
>>        <wsa:ReplyTo>
>>            <wsa:Address>http://www.w3.org/2005/08/addressing/none
>> </wsa:Address>
>>        </wsa:ReplyTo>
>>        <wsa:MessageID>urn:uuid:231D56A39DAB615D1F12277783589102
>> </wsa:MessageID>
>>        <wsa:Action>http://amqp.apache.org/qpid/management/qman/Invoke
>> </wsa:Action>
>>        <wsa:RelatesTo wsa:RelationshipType="
>> http://www.w3.org/2005/08/addressing/reply">
>> uuid:2461e21c-0190-108c-2810-1e6d4acd2644</wsa:RelatesTo>
>>    </soapenv:Header>
>>    <soapenv:Body>
>>        <muse-op:InvokeResponse
>>            xmlns:muse-op="http://amqp.apache.org/qpid/management/qman"
>>            xmlns:tns="http://qman.management.qpid.apache.org"
>>            xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"/>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>>
>> Example 2 : invocation of resetLifespan() on a session instance with
>> exception
>>
>> The request :
>>
>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
>>    <soap:Header>
>>        <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> http://127.0.0.1:8080/bridge/services/QMan</wsa:To>
>>        <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> http://amqp.apache.org/qpid/management/qman/Invoke</wsa:Action>
>>        <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">
>> uuid:rt82921e-7192-09f2-a3b4-1ce862664ijs</wsa:MessageID>
>>        <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
>>            <wsa:Address>
>> http://www.w3.org/2005/08/addressing/role/anonymous
>> </wsa:Address>
>>        </wsa:From>
>>    </soap:Header>
>>    <soap:Body>
>>        <pfx0:Invoke xmlns:pfx0="
>> http://amqp.apache.org/qpid/management/qman
>> " xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance">
>>            <pfx0:AttributesPart>
>>
>>
>> brokerID=ds23321q-7422-98f1-b5b4-1ci404014cdb,type=Object,package=org.apache.qpid.broker,class=session,objectID=k99282e-6251-12f4-r631-2ci991922cdb
>>            </pfx0:AttributesPart>
>>            <pfx0:OperationName>resetLifeSpan</pfx0:OperationName>
>>            <pfx0:Arguments/>
>>        </pfx0:Invoke>
>>    </soap:Body>
>> </soap:Envelope>
>>
>>
>> ...and the corresponding response when you can see the thrown Soap Fault:
>>
>> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
>> xmlns:wsa="http://www.w3.org/2005/08/addressing">
>>    <soapenv:Header>
>>        <wsa:To>http://www.w3.org/2005/08/addressing/anonymous</wsa:To>
>>        <wsa:ReplyTo>
>>            <wsa:Address>http://www.w3.org/2005/08/addressing/none
>> </wsa:Address>
>>        </wsa:ReplyTo>
>>        <wsa:MessageID>urn:uuid:BAB241AD57E917253C12277792998902
>> </wsa:MessageID>
>>        <wsa:Action>http://amqp.apache.org/qpid/management/qman/Invoke
>> </wsa:Action>
>>        <wsa:RelatesTo wsa:RelationshipType="
>> http://www.w3.org/2005/08/addressing/reply">
>> uuid:e5544f59-4cf3-4564-1daf-8fe550fa7dba</wsa:RelatesTo>
>>    </soapenv:Header>
>>    <soapenv:Body>
>>        <soap:Fault xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
>>            xmlns:tns="http://qman.management.qpid.apache.org"
>>            xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance">
>>            <soap:Code xmlns:qman="
>> http://amqp.apache.org/qpid/management/qman">
>>                <soap:Value>qman:Service</soap:Value>
>>            </soap:Code>
>>            <soap:Reason>
>>                <soap:Text>UnknownObject</soap:Text>
>>            </soap:Reason>
>>            <soap:Detail>
>>                <qman:OperationInvocationFault xmlns:qman="
>> http://amqp.apache.org/qpid/management/qman">
>>                    <wsrf-bf:Timestamp xmlns:wsrf-bf="
>> http://docs.oasis-open.org/wsrf/bf-2
>> ">2008-11-27T10:48:21+01:00</wsrf-bf:Timestamp>
>>                    <wsrf-bf:OriginatorReference xmlns:wsrf-bf="
>> http://docs.oasis-open.org/wsrf/bf-2">
>>                        <wsa:ReferenceParameters/>
>>                        <wsa:Address>
>> http://192.168.197.51:8080/bridge/services/QMan</wsa:Address>
>>                    </wsrf-bf:OriginatorReference>
>>                    <wsrf-bf:ErrorCode
>>                        Dialect="
>> http://amqp.apache.org/qpid/management/errno" xmlns:wsrf-bf="
>> http://docs.oasis-open.org/wsrf/bf-2">
>>                        <qman:StatusCode>1</qman:StatusCode>
>>                    </wsrf-bf:ErrorCode>
>>                </qman:OperationInvocationFault>
>>            </soap:Detail>
>>        </soap:Fault>
>>    </soapenv:Body>
>> </soapenv:Envelope>
>>
>> Any comments would be appreciated.
>>
>> Regards,
>> Andrea
>>
>>
>>
>
>
> Sorry for the late response, is there a patch to look at?
>
> Carl.
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message