Archive Content

Please note this page is present for reference only. QMan has been removed and is no longer a released component.

PutResourcePropertyDocument

Description

This interface allows to completely / partially replace the resource property document of a WS-Resource. So briefly, it allows requestor to change resource
internal state using the resource property document.
This is the main difference between this interface and the SetResourceProperties : it operates the change(s) directly on the resource property document.

Note for response message (extract from WS-ResourceProperties specification) :

"If, after processing the PutResourcePropertyDocument request, the XML Infoset of the WS-Resource's resource properties document is identical to the XML Infoset of the contents of the PutResourcePropertyDocument request itself, then the contents of the PutResourcePropertyDocumentResponse MUST be empty.
If, after processing the PutResourcePropertyDocument request, the XML Infoset of the WS-Resource's resource properties document is not identical to the XML Infoset of the contents of the PutResourcePropertyDocument request itself, then the contents of the
PutResourcePropertyDocumentResponse MUST contain the updated resource property document. If an implementation cannot return all of the resource property values associated with the request, due to, for example, security considerations, then it MUST fault."

Briefly, that means that if the request message contains the whole state of the target resource, and that whole state is successfully applied, then the response message will be empty.
If, the request message contains a subsection of the resource property document and this partial "state" is applied to the target resource, then the response message will return the new resource property document taht reflects the current resource state.

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/PutResourcePropertyDocument/PutResourcePropertyDocumentRequest
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:PutResourcePropertyDocument xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2">
22.				<qman:QManWsResourceProperties>
23.					<qman:MgmtPubInterval>
24.						4321
25.					</qman:MgmtPubInterval>
26.				</qman:QManWsResourceProperties>
27.				<qman:Name>
28.					New Name
29.				</qman:Name>
30.			</wsrf-rp:PutResourcePropertyDocument>
		</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 PutResourcePropertyDocument 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.

21 - 30

The PutResourcePropertyDocument request. That will contain the new resource property document (total or partial).

22 - 29

This is the new resource property document. In this example it contains only two properties : MgmtPubInterval (23 - 25) and Name (27 - 29).

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 xmlns:qman="http://amqp.apache.org/qpid/management/qman">
21.			<wsrf-rp:PutResourcePropertyDocumentResponse xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2">
22.				<qman:MgmtPubInterval>4321</qman:MgmtPubInterval>
				<wsrf-rp:QueryExpressionDialect xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2">
					http://www.w3.org/TR/1999/REC-xpath-19991116
				</wsrf-rp:QueryExpressionDialect>
23.				<qman:Name>New Name</qman:Name>
				<qman:MsgTotalEnqueues>9223372036854775797</qman:MsgTotalEnqueues>
				<qman:Arguments
					xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
					<qman:entry>
						<qman:key>Key3</qman:key>
						<qman:value xsi:type="xsd:integer">2147483647</qman:value>
					</qman:entry>
					<qman:entry>
						<qman:key>Key4</qman:key>
						<qman:value xsi:type="xsd:float">3.4028235E38</qman:value>
					</qman:entry>
					<qman:entry>
						<qman:key>Key1</qman:key>
						<qman:value xsi:type="xsd:string">aStringValue</qman:value>
					</qman:entry>
					<qman:entry>
						<qman:key>Key2</qman:key>
						<qman:value xsi:type="xsd:long">-9223372036854775808</qman:value>
					</qman:entry>
				</qman:Arguments>
				<qman:VhostRef>57ae7a6d-6f33-48dc-9548-82078591fb9c</qman:VhostRef>
				<qman:Durable>true</qman:Durable>
24.				<qman:ConsumerCount>-2147483638</qman:ConsumerCount>
			</wsrf-rp:PutResourcePropertyDocumentResponse>
		</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 PutResourcePropertyResponse message. 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 - 24

The resource property response. The nested children are all property members of resource property document. Note that the value of MgMtPubInterval (22) and Name (23) have been updated.

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.
  • UnableToPutResourcePropertyDocumentFault : In case of a not well-known failure while processing / applying the request.

Web Services Resource
Web Services Resource Properties

  • No labels