我使用wsdl2php.php创建具有基于 wsdl 的类映射的类。它生成了两个类,一个用于创建帐户,一个用于名称值对。
我试图弄清楚如何使用类来创建一个肥皂请求。肥皂服务器是.Net。
这是 CreateAccount.asmx 页面建议的肥皂请求:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateAccount xmlns="https://www.mywsdlsitehere.com/Account">
<parameters>
<NameValue>
<name>string</name>
<value>string</value>
</NameValue>
<NameValue>
<name>string</name>
<value>string</value>
</NameValue>
</parameters>
</CreateAccount>
</soap:Body>
</soap:Envelope>
我尝试使用几种方法将名称和值对嵌套到 NameValue 标记中。
这是我最新的失败尝试:
$createaccount->parameters->fullName='Testy Tester';
$createaccount->parameters->userEmail='testy@tester.com';
$createaccount->parameters->accountName='TestyTester';
$createaccount->parameters->password='*****';
class CreateAccount {
public $parameters; // ArrayOfNameValue
}
class NameValue {
public $name; // string
public $value; // string
}
public function CreateAccount(CreateAccount $parameters) {
return $this->__soapCall('CreateAccount', array($parameters), array(
'uri' => 'https://www.mywsdlsitehere.com/Accounting',
'soapaction' => ''
)
);
}
我得到的错误是:
致命错误:未捕获的 SoapFault 异常:[soap:Server] 服务器无法处理请求。---> 值不能为空。