Я пытаюсь получить доступ к службе Windows через SoapClient.Когда я набираю ip: порт в моем браузере, он загружает WSDL нормально:
<wsdl:definitions name="RmJobService" targetNamespace="http://www.rimage.com/RmJobService"> <wsdl:types> <xsd:schema targetNamespace="http://www.rimage.com/RmJobService/Imports"> <xsd:import schemaLocation="http://ip:port/RmJobService.svc?xsd=xsd0" namespace="http://www.rimage.com/RmJobService"/> <xsd:import schemaLocation="http://ip:port/RmJobService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/> <xsd:import schemaLocation="http://ip:port/RmJobService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Rimage.Web.Service"/> <xsd:import schemaLocation="http://ip:port/RmJobService.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/> </xsd:schema> </wsdl:types> ...etc...
Но когда я пытаюсь установить SoapClient:
try { $sclient = new SoapClient('http://ip:port/RmJobService.svc?wsdl', array( "trace" => 1, "soap_version" => SOAP_1_1)); } catch (SoapFault $ex) { echo $exception->getMessage(); }
, я получаю эту ошибку:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://ip:port/RmJobService.svc?wsdl' : Start tag expected, '<' not found
Даже попытка использовать file_get_contents или cURL возвращает ноль.Есть идеи, что здесь происходит?
file_get_contents
Дейв
Это закончилось проблемой брандмауэра сервера.Проверьте с хостом, чтобы убедиться, что он может подключиться к источнику, и как только они открыли порт, все работало нормально.Тупой.