我正在使用php soap。我无法让我的肥皂体包含自定义命名空间。 这是我想要的一个例子:
<?xml version='1.0' encoding='UTF8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<tns:MyCall xmlns:tns="my.sx"><tns:op>getStuff</tns:op><tns:args />
</tns:MyCall>
</soapenv:Body>
</soapenv:Envelope>
我无法将名为tns的名称空间显示在正文中,或者使用元素op和args。
有人可以建议如何做到这一点吗?
我的代码如下:
$client = CreateSoapClient();
try{
$result = $client->__soapCall(
'MyCall',
array(), // no params
array(
'uri' => 'urn:Myurn',
'soapaction' => 'urn:Myurn'
));
?>
答案 0 :(得分:1)
您需要在WSDL中定义命名空间。使用Zend WSDL自动生成器可能最简单,我相信它可以让你设置命名空间。如果您需要更多信息,请与我们联系。