Как создать клиент PHP SOAP для вызова веб-службы WCF по протоколу SSL? - PullRequest
4 голосов
/ 06 июля 2010

У нас есть служба WCF на веб-сервере SSL, установленном в IIS. Веб-сервис был создан с использованием .NET 3.5 и WCF 3.0. Мы можем получить к нему доступ с помощью клиента .NET 3.5 без проблем .

Давайте назовем URL, на котором опубликован сервис, что-то вроде:

https://my -server.com / testservice.svc? * 1009 WSDL *

Нам нужно проверить концепцию, чтобы проверить, можно ли получить к ней доступ с помощью клиента PHP. Я пытался использовать NuSOAP или стандартный SoapClient PHP, но в обоих случаях я получаю исключение. Вот мой код:

<?php
  $wsdl = 'https://my-server.com/testservice.svc?wsdl';
  $client = new SoapClient($wsdl);
?>

Возвращает мне исключение с этим сообщением:

Ошибка: sendSms: исключение SoapFault: [WSDL] SOAP-ERROR: Схема синтаксического анализа: невозможно импортировать схему из 'https://my -server.com / testservice.svc? Wsdl ' в C: \ localhost \ test.php: 5 Трассировка стека: # 0 C: \ localhost \ test.php (5): SoapClient-> SoapClient ('https://my -serv ...') # 1 { главная} "

Есть идеи? Что я делаю не так?

Ответы [ 4 ]

0 голосов
/ 20 сентября 2018

Здесь поздно вечером, но убедитесь, что при настройке службы WCF с AddServiceEndpoint вы используете BasicHttpBinding не WebHttpBinding .

0 голосов
/ 04 августа 2010

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

Может быть, попробуйте использовать NuSoap или PEAR Soap_Client, чтобы вы могли установить точку останова или просто сбросить необработанный вывод с сервера?Если сервер возвращает ошибку, это может дать вам некоторые подсказки.Если сервер, кажется, выводит действительный ответ SOAP, возможно, в вашем веб-сервисе есть несколько сложных типов объектов для аргументов или возвращаемых значений, что приводит к удушению PHP?

0 голосов
/ 20 мая 2013

В соответствии с этим вопросом вы должны предоставить права доступа к IIS_IUSERS для каталога 'C: / Windows / Temp'.

0 голосов
/ 19 июля 2010

http://weblogs.asp.net/gunnarpeipman/archive/2007/09/17/using-wcf-services-with-php.aspx

Я сейчас тоже занимаюсь этим, надеюсь, это поможет вам

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