Every WIJIS Service invocation or response is identified by an accompanying messageTrackingInfo element. This element contains addressing, routing and tracking information in defined attributes.

messageTrackingInfo Example # 1:
initial invocation of PointerUpload by Submitter
  • The Current Service Instance information is identical to the Initial Service Instance information
  • The serviceInvocationNum has not yet been assigned
  • convSeq is 0 because this is the request
  • branchStack is 0 because this is the first "hop" that the request is making
<msg:messageTrackingInfo
	wij-uri:serviceDefURI='http://wijis.wisconsin.gov/gateway/services/Pointer/request/upload/'
	svc:serviceProviderURI='http://wijis.wisconsin.gov/names/operators/jil/'
	svc:serviceLabel='smallUploadHandler_3'
	svc:serviceRequesterURI='http://wijis.wisconsin.gov/names/operators/ExampleCopShopSubmitter/'
	svc:initialUserURI='http://service.account@wijis.wisconsin.gov/names/operators/ExampleCopShopSubmitter/'
	svc:requesterInvocationNum='56789'
	svc:serviceInvocationNum='-1'
	msg:convSeq='0'
	msg:branchStack='0'
	svc:currentServiceDefURI='http://wijis.wisconsin.gov/gateway/services/Pointer/request/upload/'
	svc:currentServiceProviderURI='http://wijis.wisconsin.gov/names/operators/jil/'
	svc:currentServiceLabel='smallUploadHandler_3'
	svc:currentSendingOperatorURI='http://wijis.wisconsin.gov/names/operators/ExampleCopShopSubmitter/'
/>
attribute name what it is where do you get it?
Initial
Invocation
Info
serviceDefURI The URI that identifies the Initial Service Request, as described here. Found in the Service Interface Definition Schema.
serviceProviderURI The WIJIS Operator URI of the Service Provider Assigned by WIJIS
serviceLabel A character string to distinguish between multiple instances of the same Service. Defined by Service Provider
serviceRequesterURI The WIJIS Operator URI This is the Operator URI of the service Consumer/Requester who initially requested the Service, and thereby started the whole conversation.
initialUserURI A WIJIS User URI, used to determine permissions Issued by WIJIS.
requesterInvocationNum Described here. Generated by Requester
serviceInvocationNum Completes Provider-based unique identification for an initial invocation event. Described here. Generated by Service Provider.
Conversation
Tracking
convSeq Described here. These elements are determined by node-tree logic.
branchStack Described here.
Current
Service
Invocation
Info
currentServiceDefURI Currently invoked Service Definition URI. These values are determined in the same way as, respectively, the serviceDefURI, serviceProviderURI, serviceLabel, and serviceRequesterURI attributes defined for the Initial invocation. In fact, in the Initial Invocation's messageTrackingInfo, the values of these will be identical to those corresponding attributes.
currentServiceProviderURI The Provider of the currently invoked Service.
currentServiceLabel A Label provided by the Service Provider
currentSendingOperatorURI The WIJIS Operator URI of the message sender
adHocUserURI A WIJIS User URI used instead of the initial User URI Determined by the Service Requester.
messageTrackingInfo Example # 2:
subsequent internal Gateway Service invocation
  • The Current Service Instance information represents a "side" call to a permissions checking service
  • convSeq is still 0 because this is still in aid of forarding the request
  • branchStack is 0/1/0, indicating that this is the third "hop" in a branched structure
  • note the adHocUserURI for a call requiring different permissions
<msg:messageTrackingInfo
	wij-uri:serviceDefURI='http://wijis.wisconsin.gov/gateway/services/Pointer/request/upload/'
	svc:serviceProviderURI='http://wijis.wisconsin.gov/names/operators/jil/'
	svc:serviceLabel='smallUploadHandler_3'
	svc:serviceRequesterURI='http://wijis.wisconsin.gov/names/operators/ExampleCopShopSubmitter/'
	svc:initialUserURI='http://service.account@wijis.wisconsin.gov/names/operators/ExampleCopShopSubmitter/'
	svc:requesterInvocationNum='56789'
	svc:serviceInvocationNum='34567'
	msg:convSeq='0'
	msg:branchStack='0/1/0'
	svc:currentServiceDefURI='http://wijis.wisconsin.gov/services/permissions/gatepoint/'
	svc:currentServiceProviderURI='http://wijis.wisconsin.gov/names/operators/wijis/gateway/'
	svc:currentServiceLabel='primary_service'
	svc:currentSendingOperatorURI='http://wijis.wisconsin.gov/names/operators/wijis/gateway/'
	svc:adHocUserURI='http://service.account@wijis.wisconsin.gov/names/operators/wijis/gateway/'
/>

Service Instance Identification

Service Instance Identification
Any Service Instance is completely and unambiguously identified by three characteristics:

WIJIS User URI

When executing of WIJIS Service operations, permissions are determined by comparing a given User to the item or operation to which access is requested. WIJIS defines Users by assignment of URIs. In format, these follow the URI convention:

(scheme)://(username)@(authority)/(remainder of URI)

(for an authoritative, rigorous and detailed description see the IETF's "Generic URI Syntax" document at http://www.ietf.org/rfc/rfc3986.txt.)

WIJIS defines two types of User URIs: service and user URIs:

	http://BLONDWH693@wijis.wisconsin.gov/names/directories/justiceDirectory/

The Service Conversation

A Conversation Tree is the set of all Service Requests and Responses that follow from an initial Service Invocation. The Initial Invocation is also referred to as the Root of the Tree. The combination of a Conversation Sequence and a Branch Stack identifies any Service call or response in the Conversation Tree. So, given the Initial Service Invocation, a Conversation Sequence, and a Branch Stack, it's possible to precisely and unambiguously identify any Service Message passed within WIJIS Space. The usefulness for logging and correlation is obvious.

Service Message Tracking Info, item by item

The information is as follows: