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 <[EMAIL PROTECTED]> > 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. > > > >
