SetResourceProperties
Description
This interface allows a requestor to change the state of a WS-Resource, modifying the values of multiple resource properties.
There are two types of changes that can be done on a resource property :
- Insert: wherein a new resource property element is inserted into the resource properties document; before of that the property was null and therefore wasn't part of the resource property document;
- Update: wherein existing resource property element(s) are udpated; that is, the property was already part of the resource property document;
In order to be fully WSRF compliant, there should be a third type of change : Delete. It will be implemented sooner but keep in mind that at the moment is not supported.
Request
01. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> 02. <soap:Header> 03. <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing"> 04. http://localhost:8080/qman/services/QManWsResource 05. </wsa:To> 06. <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing"> 07. http://docs.oasis-open.org/wsrf/rpw-2/SetResourceProperties/SetResourcePropertiesRequest 08. </wsa:Action> 09. <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing"> 10. uuid:0cdb5112-09e0-ac39-06ba-393843f06e42 11. </wsa:MessageID> 12. <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"> 13. <wsa:Address> 14. http://www.w3.org/2005/08/addressing/role/anonymous 15. </wsa:Address> 16. </wsa:From> 17. <qman:ResourceId xmlns:wsa="http://www.w3.org/2005/08/addressing" wsa:IsReferenceParameter="true" xmlns:qman="http://amqp.apache.org/qpid/management/qman"> 18. 781f4ad7-4c96-4caa-b69d-291461cdb1fc 19. </qman:ResourceId> </soap:Header> <soap:Body xmlns:qman="http://amqp.apache.org/qpid/management/qman"> 21. <wsrf-rp:SetResourceProperties xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"> 22. <wsrf-rp:Insert> <qman:Type> This is a value for a string property. </qman:Type> 23. </wsrf-rp:Insert> 24. <wsrf-rp:Update> <qman:MgmtPubInterval> 12 </qman:MgmtPubInterval> 25. </wsrf-rp:Update> </wsrf-rp:SetResourceProperties> </soap:Body> </soap:Envelope>
Line(s) |
Description |
---|---|
01 |
The SOAP <Envelope> is the root element in every SOAP message, and contains two child elements, <Header> and <Body>. |
02 |
The SOAP Header will contain all metadata used for identifying the conversation participants (requestor and provider). |
03 - 05 |
Convey the target endpoint also known (in the request phase) as service provider. |
06 - 08 |
Indicate this is a SetResourceProperties request. |
09 - 11 |
Convey a unique identifier associated with the current message. This will be used for request / response messages correlation. |
12 - 15 |
Provide the address of the source endpoint also known (in the request phase) as service requestor. |
17 - 19 |
This indicates the target resource of this request. Specifically the line 18 contains the resource identifier. |
20 - 22 |
The SetResourceProperties request. Change types are specified using nested children. |
21 - 23 |
This is an Insert change type. The property "Type" (specified using the nested child) is null on the target resource and therefore is not yet part |
24 - 25 |
This is an Update change type. The property "MgmtPubInterval" is not null on the target resource and therefore is already part of its property document. |
Response
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> 01. <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing"> 02. http://www.w3.org/2005/08/addressing/role/anonymous 03. </wsa:To> 04. <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing"> 05. http://docs.oasis-open.org/wsrf/rpw-2/SetResourceProperties/SetResourcePropertiesResponse 06. </wsa:Action> 07. <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing"> 08. uuid:980617c8-e3a0-ebf1-8f5a-2b43d3d6d416 09. </wsa:MessageID> 10. <wsa:RelatesTo RelationshipType="wsa:Reply" xmlns:wsa="http://www.w3.org/2005/08/addressing"> 11. uuid:0cdb5112-09e0-ac39-06ba-393843f06e42 12. </wsa:RelatesTo> 13. <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing"> 14. <wsa:Address> 15. http://localhost:8080/qman/services/QManWsResource 16. </wsa:Address> 17. <wsa:ReferenceParameters> <qman:ResourceId xmlns:wsa="http://www.w3.org/2005/08/addressing" wsa:IsReferenceParameter="true" xmlns:qman="http://amqp.apache.org/qpid/management/qman"> 18. 781f4ad7-4c96-4caa-b69d-291461cdb1fc 19. </qman:ResourceId> 20. </wsa:ReferenceParameters> </wsa:From> </soap:Header> <soap:Body> 21. <wsrf-rp:SetResourcePropertyResponse xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"/> </soapBody> </soap:Envelope>
Line(s) |
Description |
---|---|
01 - 03 |
Convey the recipient of the response message. Note that this time we are talking about the service requestor; The address matches the <wsa:From> previously found in the corresponding request. |
04 - 06 |
Indicate this is a SetResourceProperties response. This is done as usual using a wsa:Action that is part of WS-Addressing specification. |
07 - 09 |
Convey a unique identifier associated with the current response message. |
10 - 12 |
This element provides the identifier of the correlated (request) message. |
13 |
The <wsa:From> element (part of WS-Addressing specs too) identifies the source endpoint, the originator of this response message. |
14 - 16 |
This is the address of the source service endpoint. As said for lines 01-03 this time this is referred to service provider (the message originator). |
17 - 20 |
As part of wsa:From element, this contains (specifically on line 18) additional information needed for identifying the originator of this message. |
21 - 25 |
This is the SetResourceProperties response element. |
Faults
- ResourceUnknownFault : There's no resource on QMan associated with the given reference information (soap address and identifier).
- ResourceUnavailableFault : The requested resource is unavailable. This fault should indicate a transient condition. That means a requester might resend the message.
- InvalidResourcePropertyQNameFault : The name (QName) in the request message doesn't correspond to a property element of the target WS-Resource.
- SetResourcePropertyRequestFailedFault : Service provider was unable to satisfy the SetResourceProperties request.
- InvalidModificationFault : The content of the SetResourceProperties request cause the resource properties document to no longer be able to validate.
- UnableToModifyResourcePropertyFault : One or more properties contained in the SetResourceProperties request are read-only.