php с использованием SOAP с другим SoapAction

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

https://preprod.squidcard.com/ytm/sQuidpages/sQuidPWS.asmx 

Какой URL-адрес я должен называть, чтобы перейти к методу getPurseBalance (), поскольку параметр в SOAP-действии из WSDL, похоже, не определен, есть ли способ определить это или я должен обратиться к поставщику веб-услуг?

Благодаря,

Вы не должны вызывать URL-адрес, вы должны отправить XML на эту прямую страницу. Чтобы узнать, что отправить в веб-службу, вы можете проверить свой URL:

https://preprod.squidcard.com/ytm/sQuidpages/sQuidPWS.asmx?op=getPurseBalance

Здесь вы также можете просмотреть свой SoapAction и другие заголовки для отправки:

 POST /ytm/sQuidpages/sQuidPWS.asmx HTTP/1.1 Host: preprod.squidcard.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "https://secure.squidcard.com/getPurseBalance" 

Если вы не хотите создавать XML вручную, вы также можете использовать класс SoapClient из PHP. Вы можете найти более подробную информацию здесь:

http://www.php.net/manual/en/class.soapclient.php

 $client = new SoapClient("https://preprod.squidcard.com/ytm/sQuidpages/sQuidPWS.asmx?WSDL"); var_dump($client->__getFunctions()); $client->__soapCall("getPurseBalance", array('your parameters')); 

см. это http://www.php.net/manual/en/soapclient.setlocation.php

Я думаю, вы должны использовать

 $client->__setLocation('https://preprod.squidcard.com/ytm/sQuidpages/sQuidPWS.asmx');