Авторизация SOAP - PullRequest
       12

Авторизация SOAP

0 голосов
/ 09 августа 2011

Веб-сервис, который я пытаюсь использовать, имеет такой WSDL-файл: http://dgpysws.teias.gov.tr/dgpys/services/EVDServis?wsdl

Я пытаюсь использовать службу setIkiliAnlasma, однако для доступа к этой службе требуется проверка подлинности. У меня есть свои учетные данные, и когда я выполняю SOAP-вызов для службы входа, он проверяет подлинность моих учетных данных.

И, как и ожидалось, когда я звоню в службу setIkiliAnlasma, я получаю ошибку авторизации. Какой метод позволяет объединить авторизацию, предоставляемую при входе в систему, с основным сервисом, который мне нужен?

Кстати, используемый мной язык программирования PHP и нативные SoapClient функции: http://www.php.net/manual/en/class.soapclient.php

Ответы [ 2 ]

1 голос
/ 09 августа 2011

попробуйте использовать этот способ для аутентификации при вызове URL-адреса мыльного клиента:

http://username:password@domain.com/

0 голосов
/ 10 августа 2011

Вот пример использования SOAPClient в PHP с аутентификацией - вам просто нужно адаптировать его к используемому WSDL ->

// Setting "trace" will allow us to view the request that we are making, after we have made it.
$objClient = new SoapClient("http://www.somewhere.com/wsdls/some.wsdl", array('trace' => true)); 

// These parameters satisfy this specific remote call.
$arrParameters_Login = array('username' => 'username', 'password' => 'password');

// Invoke the remote call "login()".
$objLogin =  $objClient->login($arrParameters_Login); 

// Grab session ID that this remote call will provide.
$strSessionID = $objLogin->loginReturn->sessionId;

Затем вам нужно будет использовать код sessionid / sessionкоторый отправляется вам в ответе на вход в систему - может быть, в заголовке - он специфичен для каждого WSDL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...