- Code: Select all
$soap = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
'style' => SOAP_DOCUMENT,
'login' => '***',
'password' => '***',
'trace' => true,
'exceptions' => true,
'cache_wsdl' => WSDL_CACHE_NONE,
)
);
$params = array('9599');
$res = $soap->__call('findTaskByNumber',$params);
При его выполнении вываливается эксепшен:
SoapFault exception: [S:Receiver] InvalidParameterException: className=com.trackstudio.securedkernel.SecuredTaskAdapterManager, method=findTaskByNumber, parameter=sc, userId=null in
, в котором смущают два момента - parameter (почему sc - это внутреннее имя переменной?) и userId равное null (хотя логин/пароль передаются).
Вполне возможно, что требуется отдельная аутентификация, но и с ней всё плохо: использую authenticate из User?wsdl, передаю пары логин/пароль и пароль/логин (и так и так пробовал), судя по tcpdump - всё уходит серверу:
Content-Type: application/soap+xml; charset=utf-8; action="authenticate"
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://user.service.soap.trackstudio.com/"><env:Body><ns1:authenticate/><param1>логин</param1><param2>пароль</param2></env:Body></env:Envelope>
а назад опять получаем кукиш в виде: SoapFault exception: [S:Receiver] InvalidParameterException: className=com.trackstudio.securedkernel.SecuredUserAdapterManager, method=authenticate, parameter=login, userId=null
Ну и очевидный вопрос - ЧЯДНТ?
Версия TrackStudio - 4.0.14
