我需要发送一个SOAP envelope
看起来像这样。。。在
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:realops.com:amp:workflow" xmlns:oas="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:dst="DST_JC_Sandbox">
<soapenv:Header>
<urn:grid-name>GRID01</urn:grid-name>
<oas:Security>
<!--Optional:-->
<oas:UsernameToken>
<oas:Username>Network</oas:Username>
<oas:Password>password</oas:Password>
</oas:UsernameToken>
</oas:Security>
</soapenv:Header>
<soapenv:Body>
<dst:TrySoap-Request>
<dst:strInput1>abc</dst:strInput1>
<dst:strInput2>abc123</dst:strInput2>
</dst:TrySoap-Request>
</soapenv:Body>
</soapenv:Envelope>
我使用的是Pythonsuds
。但是,我只是不知道如何控制头部。由于我仍在尝试如何将成功的SOAP调用发送到我的内部测试主机(它确实响应soapUI),所以我只得到了一些被破解的片段。在
这样就产生了这样一个肥皂包。。。在
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="Sandbox" xmlns:urn="http://10.1.1.1:8080/path/name/wsdl?grid-name=GRID01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<urn:grid-name>GRID01</urn:grid-name>
</SOAP-ENV:Header>
<ns0:Body>
<ns1:TrySoap-Request>
<ns1:strInput1>abc</ns1:strInput1>
<ns1:strInput2>xyz</ns1:strInput2>
</ns1:TrySoap-Request>
</ns0:Body>
</SOAP-ENV:Envelope>
我对这个原理的理解只是,我发送的信封必须与我发布的第一个样本完全相同。此请求不起作用,服务器响应为,“调试:suds.client:http失败:
我知道我的python generated header doesn't match
。在
问题:
urn
元素吗?或者有更好的方法吗?在xmlns:urn="urn:realops.com:amp:workflow"
?在conversion tool
的地方,我可以给它一个格式化的信封,并让它吐出Python形成信封所需的代码?在
一个同事给我提供了这个测试电话的解决方案。。。在
这个信封就是这个。在
^{pr2}$这很管用,但我想知道为什么会好一点。我不明白标签:可变格式。我也不太清楚名称空间是如何通过元素调用更改的。在
相关问题 更多 >
编程相关推荐