Php SOAP-ERROR:编码:对象没有';ACCION&x27;财产
我有一个调用SAP中创建的web服务的PHP脚本,我已经用soapui5对其进行了验证,它工作正常,但PHP抛出以下消息:Php SOAP-ERROR:编码:对象没有';ACCION&x27;财产,php,Php,我有一个调用SAP中创建的web服务的PHP脚本,我已经用soapui5对其进行了验证,它工作正常,但PHP抛出以下消息: SOAP-ERROR: Encoding: object has no 'ACCION' property PHP代码: $url = 'https://www.ceramicaitalia.com/wssap/zwebservice1.wsdl'; $client = new SoapClient($url); echo PHP_EOL;
SOAP-ERROR: Encoding: object has no 'ACCION' property
PHP代码:
$url = 'https://www.ceramicaitalia.com/wssap/zwebservice1.wsdl';
$client = new SoapClient($url);
echo PHP_EOL;
$xmlr = new SimpleXMLElement("<ZWS_WEBSERVICE1></ZWS_WEBSERVICE1>");
$xmlr->addChild('login', '***');
$xmlr->addChild('password', '******');
$xmlr->addChild('ACCION', '/');
$params = new stdClass();
$params->xml = $xmlr->asXML();
$client->ZWS_WEBSERVICE1($params);
$result = $client->ZWS_WEBSERVICE1('RTA');
print_r($result);
$url='1!'https://www.ceramicaitalia.com/wssap/zwebservice1.wsdl';
$client=新的SoapClient($url);
echo PHP_EOL;
$xmlr=新的SimpleXMLElement(“”);
$xmlr->addChild('login','***');
$xmlr->addChild('password','*****');
$xmlr->addChild('ACCION','/');
$params=新的stdClass();
$params->xml=$xmlr->asXML();
$client->ZWS_WEBSERVICE1($params);
$result=$client->ZWS_WEBSERVICE1('RTA');
打印(结果);
soapui5中的测试:
请求:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:urn="urn:sap-com:document:sap:rfc:functions">
<soap:Header/>
<soap:Body>
<urn:ZWS_WEBSERVICE1>
<ACCION>/</ACCION>
</urn:ZWS_WEBSERVICE1>
</soap:Body>
</soap:Envelope>
/
答复:
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header/>
<env:Body>
<n0:ZWS_WEBSERVICE1Response xmlns:n0="urn:sap-com:document:sap:rfc:functions">
<RTA>1.5</RTA>
</n0:ZWS_WEBSERVICE1Response>
</env:Body>
</env:Envelope>
1.5
您不需要设置根元素。可以将xml转换为数组参数。库将自动设置匹配的元素。如果有多个名称相同但命名空间不同的元素,则可以检查SoapVar。工作样本如下
<?php
$url = 'https://www.ceramicaitalia.com/wssap/zwebservice1.wsdl';
$client = new SoapClient($url, ['trace' => true]);
$params = ['ACCION' => '/'];
$client->ZWS_WEBSERVICE1($params);
$result = $client->ZWS_WEBSERVICE1('RTA');
print_r($result);
?>
您不需要设置根元素。可以将xml转换为数组参数。库将自动设置匹配的元素。如果有多个名称相同但命名空间不同的元素,则可以检查SoapVar。工作样本如下
<?php
$url = 'https://www.ceramicaitalia.com/wssap/zwebservice1.wsdl';
$client = new SoapClient($url, ['trace' => true]);
$params = ['ACCION' => '/'];
$client->ZWS_WEBSERVICE1($params);
$result = $client->ZWS_WEBSERVICE1('RTA');
print_r($result);
?>