PHP не загружает WSDL, но браузер хорошо отображает XML? - PullRequest
1 голос
/ 13 декабря 2011

Я пытаюсь получить доступ к службе 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 возвращает ноль.Есть идеи, что здесь происходит?

Дейв

1 Ответ

1 голос
/ 31 мая 2012

Это закончилось проблемой брандмауэра сервера.Проверьте с хостом, чтобы убедиться, что он может подключиться к источнику, и как только они открыли порт, все работало нормально.Тупой.

...