C # NetworkCredential в переполнении стека

Я пытаюсь получить доступ к веб-сервису через PHP. Веб-сервис возвращает байтовый массив с изображением в формате JPEG, который затем отображается на веб-странице.

Сегодня сервис доступен через вызов C #, вот так

ImgService i = new ImgService();

Учетные данные устанавливаются так:

i.Credentials = new System.Net.NetworkCredential(username, password, domain);

Доступ к веб-сервису:

byte[] result = null;

result = i.GetThumbNail(raceId, startNum, seasonId, height, width, true);
Response.ContentType = "image/jpeg";
Response.BinaryWrite(result);

Служба работает нормально в C #, но теперь мне нужно получить к ней доступ через PHP, и единственное изображение, которое я получаю, — это «missing.jpg». Я не уверен, означает ли это, что учетные данные неверны или что-то еще не так, но я чувствую себя очень неуверенно в части учетных данных.

Это код PHP без каких-либо учетных данных:

$client = new SoapClient("http://www.example.com/imgService.asmx?WSDL");
$result = $client->GetThumbNail($args['race'], $args['startnumber'], $args['year'], 0, 0, true);
$image_data = $result->GetThumbNailResult;
echo '<img src="data:image/jpeg;base64,'.base64_encode($image_data).'">';

Я также пытался использовать звонки, как это:

$headers = array(
'username'  =>  'user',
'password'  =>  'pass',
'domain'    =>  'domain'
);
$header = new SoapHeader("http://tempuri.org/", 'UserCredentials', $headers, false);
$client->__setSoapHeaders($header);
$result = $client->GetThumbNail(parameters);

Обе версии выдают мне один и тот же файл missing.jpg и никаких сообщений об ошибках. Я чувствую, что получил бы ошибку, если служба не приняла вызов?

2

Решение

Не удалось решить эту проблему со старым веб-сервисом, поэтому я в итоге создал новый HttpHandler, выполнив то же самое, что и старый сервис.
Ну что ж…

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]