php soap问题:如何创建自定义命名空间

时间:2010-01-31 02:48:38

标签: php api soap

我正在使用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'
));
?>

1 个答案:

答案 0 :(得分:1)

您需要在WSDL中定义命名空间。使用Zend WSDL自动生成器可能最简单,我相信它可以让你设置命名空间。如果您需要更多信息,请与我们联系。