Heim >Backend-Entwicklung >PHP-Tutorial >php中,如何通过soap传递两个参数,(ms-security下)

php中,如何通过soap传递两个参数,(ms-security下)

WBOY
WBOYOriginal
2016-06-23 14:01:381073Durchsuche

$xml = '            <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">            <wsse:UsernameToken>            <wsse:Username>admin</wsse:Username>            <wsse:Password>PasswordText</wsse:Password>            </wsse:UsernameToken>            </wsse:Security>';        $header = new SoapHeader('http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'CallbackHandler', new SoapVar($xml, XSD_ANYXML), TRUE);        $this->client = new SoapClient($wsdl);        $this->client->__setSoapHeaders(array($header));        $userInfo = turnObjectToArray($this->client->__call('checkUser', array('username' => array('username' => 'username', 'password' => 'password'))));



一运行上述代码,就提示出错
SoapFault exception: [soap:Server] Fault occurred while processing. in 


后来连调时,对方看了下log,显示就把username传过去了,password没传过去


传递一个参数时对方是可以接收到的
$info = turnObjectToArray($this->client->__call('getClasses', array('gradeId' => array('gradeId' => $data['id']))));


怎么传递两个参数啊???


回复讨论(解决方案)

注意大小写 !   

什么大小写,方法or参数

版主的回答给了我启发,在wsdl里看到了要的传的参数,对方在q里说的参数是password,但wsdl里确是pwd,气炸了

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn