Используя PHP SoapClient, пытаемся изменить XSD с http://localhost на http://mysite.com - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь использовать WSDL из WCF с помощью PHP SoapClient.При использовании следующего кода

$client = new SoapClient('http://subdomain.xxxxxxx.com:7575/?WSDL');

появляется следующая ошибка:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load     from 'http://localhost:7575/?wsdl=wsdl0' : failed to load external entity "http://localhost:7575/?wsdl=wsdl0"

Для файла конфигурации службы для WSDL конкретный порт, используемый WSDL, указывает:

    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:7574" />
        <add baseAddress="http://localhost:7575" />
      </baseAddresses>
    </host>

Проблема в том, что WSDL перенаправляет на http://localhost:7575 для файла wsdl = wsdl0 ... тогда все местоположения XSD также перечислены http://localhost:7575.... есть ли функция PHP Soap, которую я могу использовать дляизменить это на http://subdomain.xxxxxxx.com:7575/?wsdl=wsdl0

1 Ответ

0 голосов
/ 27 марта 2012

Если у вас есть контроль над службой WCF, может быть проще настроить ее для создания «сплющенного» WSDL.В этом SO вопросе и ответе объясняется, как настроить его для одного документа WSDL.

Если это невозможно, возможно, вы можете получить их (или, возможно, самостоятельно) вручную.создайте один документ WSDL и разместите его на своем сайте, чтобы ваш PHP-клиент мог использовать его как есть.

...