Добрый день
3 день бьюсь на ошибкой при обращении к SOAP серверу:
виртуальная машина, физически расположенная в дата-центре Microsoft'а в Северной Европе, с операционной системой Windows Server 2008 R2 Datacenter SP1 64bit. На машине установлена разработанная нами служба Windows, которая принимает запросы на портах 19321 и 19322 по протоколам http и https соответственно. Служба разработана на .NET Framework 4. Microsoft, по-умолчанию, поддерживает:
- {Soap12 (
www.w3.org/2003/05/soap-envelope) Addressing10 (
http://www.w3.org/2005/08/addressing)} - версия SOAP 1.2, версия WS-Addressing 1.0.
Используются настройки по умолчанию.
Для тестирования размещён Web-сервис, имеющий методы:
- GetString() без параметров возвращает строку на кириллице
- Duplicate(String) принимает один строковый параметр, возвращает строку, дважды содержащую аргумент.
Сервис доступен:
- по протоколу http
a2services.cloudapp.net:19321/SimpleService
WSDL-описание службы получается следующим запросом:
a2services.cloudapp.net:19321/SimpleService?wsdl
Создаю PHP клиент:
$client = new SoapClient("http://a2services.cloudapp.net:19321/SimpleService?wsdl", array(
"trace" => 1,
"soap_version" => SOAP_1_2,
"exceptions" => true
));
print($client-> __call('GetString',array()));
При выполнении выдает ошибку:
"Fatal error: Uncaught SoapFault exception: [s:Sender] The SOAP action specified on the message, '', does not match the HTTP SOAP Action, '
tempuri.org/ISimpleService/GetString'. in ...."
Пожалуйста, подскажите решение проблемы.