javascript - Fetch API post Error de solicitud XML
soap xmlhttprequest (0)
No estoy haciendo una solicitud POST de fetch
. Devuelve un error de 400 bad request
fetch(''http://192.168.1.6:49152/ctl/RenderingControl'', {
method: ''POST'',
headers: {
"SOAPAction": "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume",
"content-type": "text/xml; charset=utf-8"
},
body: ''<?xml version="1.0"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body><u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>''
}).then(function (response) {
console.log(response.text());
}).catch(function (error) {
console.log(''Request failed'', error);
});
Sin embargo, esta solicitud de curl funciona
echo ''
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:GetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1">
<InstanceID>0</InstanceID>
<Channel>Master</Channel>
</u:GetVolume>
</s:Body>
</s:Envelope>
'' | curl -v -d @- /
-H ''SOAPAction: "urn:schemas-upnp-org:service:RenderingControl:1#GetVolume"'' /
-H ''content-type: text/xml; charset="utf-8"'' /
http://192.168.1.6:49152/ctl/RenderingControl
Entonces sé que el cuerpo y el contenido del encabezado son correctos. ¿Pero dónde estoy haciendo mal con la solicitud de fetch
?