$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,气炸了











