[propget] HRESULT actor([out, retval] BSTR * actorURI);
[propput] HRESULT actor([in] BSTR actorURI);
All SOAP Nodes do their processing in the context of a current role, typically this is the default role, and you don't need to set it. However if you are using intermediaries, then the intermediaries act in the context of a different role. The Actor URI allows you to target a particular header at a specific role.
///todo: discuss the possible return values
dim e,t,n set e = CreateObject("pocketSOAP.Envelope.2") ' call the echoString method e.setMethod "echoString", "http://soapinterop.org/" e.Parameters.Create "InputString" , "hello world" ' but use an intermediary to log the request/response ' the intermediary acts in the role of 'http://schemas.pocketsoap.com/logi/2001/01/' const LOG_NS = "http://schemas.pocketsoap.com/logi/2001/01/" set n = e.Headers.Create ("Log", "", LOG_NS) n.actor = LOG_NS n.root = true n.nodes.create "NextHop", "http://soap.4s4c.com/ilab/soap.asp", LOG_NS wscript.echo e.serialize set t = CreateObject("pocketSOAP.HTTPTransport.2") t.SOAPAction="http://soapinterop.org/" ' send the request to the intermediary t.send "http://soap.4s4c.com/log.ashx", e.serialize e.parse t ' print the results of the echoString call wscript.echo e.parameters.item(0).value
Copyright © Simon Fell, 2000-2004. All rights reserved.