Отличное мыло, добавление заголовка конверта
Я пытаюсь написать обработчик устройства для платформы Samsung Smartthings. Мне нужно вызвать API-интерфейс SOAP, и в целом он работает с большинством необходимых команд. Однако одной из команд требуется заголовок конверта, который необходимо добавить в запрос XML. Я могу добавить что угодно к телу конверта, но не могу понять, как добавить заголовок конверта.
Мой оригинальный код для этого запроса:
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"]
)
и он производит этот запрос XML:
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: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
но мне нужно это:
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
Разница заключается в следующем: 58DEE6006A88A967E89A
как я могу добавить его в запрос?