我正在尝试实现一个Web服务 . 当我使用SoapUI并发送原始XML请求时,它完美地工作:
Freak
qwerty
123456
69
]]>
但是,如果我尝试使用PHP SoapClient,它就行不通 .
class loginData {var $name = 'Freak'; var $password = 'qwerty';}
class login {var $loginData;}
class login_input {var $login;}
$loginData = new loginData;
$login = new login;
$login->loginData = $loginData;
$login_input = new ins;
$login_input->login = $login;
$xml = '
123456
69
';
class xmlData {var $xmlData;}
$xmlData = new xmlData;
$xmlData->xmlData = $xml;
class xml_input {var $xmlData;}
$xml_input = new xml_input;
$xml_input->xmlData = $xmlData;
$soapClient = new SoapClient("https://test./files/services/structure?wsdl", array('trace' => 1,'cache_wsdl' => WSDL_CACHE_NONE));
$ws_result = $soapClient->mainFunction($login_input,$xml_input,true);
它抛出:
致命错误:未捕获的SoapFault异常:[客户端] SOAP-ERROR:编码:对象没有'xmlData'属性
第一个参数(登录)工作正常 . 但是第二个用XML数据是一个完全痛苦的...
我尝试了几乎所有的东西(而不是$ xml变量中的简单XML字符串,我也尝试使用simplexml_load_string函数将它放入一个simplexml对象),但似乎没有任何效果 .