HubSoapAction envelope header

Hi,

I am using HubSoapAction to send commands to my router’s SOAP api
but one of the commands need envelope header before envelope body in XML.

like below:

POST /soap/server_sa/ HTTP/1.0
SOAPAction: urn:NETGEAR-ROUTER:service:WLANConfiguration:1#SetGuestAccessEnabled
content-type: text/xml;charset=utf-8
HOST: www.routerlogin.com
User-Agent: SOAP Toolkit 3.0
connection: keep-Alive
Cache-Control: no-cache
Pragma: no-cache
content-length: 588

<?xml version="1.0" encoding="UTF-8" standalone="no"?><SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" 
xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header><SessionID>58DEE6006A88A967E89A</SessionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body><M1:SetGuestAccessEnabled xmlns:M1="urn:NETGEAR-ROUTER:service:WLANConfiguration:1"><NewGuestAccessEnabled>0</NewGuestAccessEnabled></M1:SetGuestAccessEnabled>
</SOAP-ENV:Body></SOAP-ENV:Envelope>HTTP/1.0 200 OK
CONTENT-LENGTH: 509
CONTENT-TYPE: text/xml; charset="utf-8"
SERVER: Linux UPnP/1.0

how can I add header to the envelope ?

my code for creating the request (without header, just with body) is like :

   	hubaction = new physicalgraph.device.HubSoapAction(
	path:    "/soap/server_sa/",
	urn:     'urn:NETGEAR-ROUTER:service:WLANConfiguration:1',
	action:  "SetGuestAccessEnabled",
	body:    ["NewGuestAccessEnabled":"0" ],
	headers: [Host:"192.168.254.1:80", Authorization: userpass, CONNECTION: "keep-alive"]
    )

can I do this using HubAction instead of HubSoapAction , writing the XML myself ?
if yes, how ?

somebody who knows the hub commands, please help me…

Answered in your other thread: Multiple hubaction commands in one function and parsing the response