WMRMMetering.GetMeteringDataAsXml
The GetMeteringDataAsXml method retrieves data from the metering challenge in XML format.
Syntax
String = WMRMMetering.GetMeteringDataAsXml
Parameters
This method takes no parameters.
Return Values
If the method succeeds, it returns a String in XML format containing the metering data. If it fails, it returns a number in the error object.
Remarks
This method returns the metering data as an XML string that you can parse. The metering data is organized by content and then by action type.
You can also retrieve metering data as an object by using the WMRMMetering.GetMeteringData method.
Example Code
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Declare variables.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim MObj ' WMRMMetering object
Dim MDataObj ' WMRMMeteringData object
Dim MContentCollObj ' WMRMMeteringContentCollection object
Dim MContentObj ' WMRMMeteringContent object
Dim MActionCollObj ' WMRMMeteringActionCollection object
Dim MActionObj ' WMRMMeteringAction object
Dim MeterChallenge ' Metering challenge from the client
Dim MASPrivateKey ' Private key of the metering aggregation service
Dim MeterCert ' Metering certificate
Dim MeterXMLString ' Metering data in XML format
Dim MeterID ' Metering ID
Dim TransID ' Transaction ID
Dim ContentCollLength ' Number of items in the content collection
Dim ContentKeyID ' Key ID for a content item
Dim ActionCollLength ' Number of items in the action collection
Dim ActionName ' Action name
Dim ActionValue ' Action count
Dim MeterResponseString ' Metering response string
Dim x, y ' Counters
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Set variables.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
MeterChallenge = "<Replace with a metering challenge from the client>"
MeterCert = "<Replace with your metering certificate>"
MASPrivateKey = "<Replace with the private key for your service>"
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Extract metering data an a WMRMMeteringData object and as an XML string.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Set MObj = Server.CreateObject("WMRMObjs.WMRMMetering")
MObj.ServerPrivateKey = MASPrivateKey
MObj.Challenge = MeterChallenge
Set MDataObj = MObj.GetMeteringData
Set MeterXMLString = MObj.GetMeteringDataAsXml
MeterID = MDataObj.MeteringId
TransID = MDataObj.TransactionId
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve the collection of content items.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Set MContentCollObj = MDataObj.ContentCollection
ContentCollLength = MContentCollObj.length
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve the key ID and action data for each content item.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
For x = 0 To (ContentCollLength - 1)
Set MContentObj = MContentCollObj.item(x)
ContentKeyID = MContentObj.KeyID
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve the collection of actions for the current content item.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
Set MActionCollObj = MContentObj.Actions
ActionCollLength = MActionCollObj.length
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Retrieve each action and its value.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
For y = 0 To ActionCollLength - 1
Set MActionObj = MActionCollObj.item(y)
ActionName = MActionObj.Name
ActionValue = MActionObj.Value
Next
Next
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
' Generate the metering response.
'"""""""""""""""""""""""""""""""""""""""""""""""""""""
MObj.MeteringCertificate = MeterCert
MeterResponseString = MObj.GetMeteringResponse
Requirements
Version: Windows Media Rights Manager 10 SDK
Reference: wmrmobjs 1.0 Type Library
Library: wmrmobjs.dll
Platform: Windows Server 2003
See Also