Клиент PHP SOAP, обращающийся к серверу через нестандартный порт - PullRequest
0 голосов
/ 07 апреля 2010

Служба, на которую я пытаюсь отправить запросы, доступна через нестандартный порт, поэтому не через порт 80. Она доступна локально через порт 80. Итак, я протестировал приложение локально и работает нормально. Но когда я развертываю его на производственном сервере (не в локальной сети), происходит сбой.

Еще раз для ясности:

- сервер находится в локальной сети

-SOAP сервер находится в локальной сети

-производственный сервер находится в глобальной сети

-SOAP-сервер доступен через NAT / FW через нестандартный http-порт (не 80)

Мыльный клиент создан с указанным URI WSDL. Например:

$this->client = new Zend_Soap_Client('http://server.com:10080/path/service.asmx?WSDL');

Но запросы не работают:

$this->client->function($query);

Я получаю:

Internal Server Error

Исключение.

PHP не работает в этом отношении? Есть ли обходной путь?

1 Ответ

1 голос
/ 07 апреля 2010

Я нашел обходной путь:

$this->client = new Zend_Soap_Client('http://server.com:10080/path/service.asmx?WSDL',array('proxy_host' => 'server.com', 'proxy_port' => 10080));

Я притворяюсь, что есть прокси.Я указываю порт прокси как порт сервера.Это работает.Тем не менее, я все еще хотел бы знать, если я делаю ошибку или это ошибка в ZF или PHP.Я подал отчет об ошибке в ZF на данный момент:

http://framework.zend.com/issues/browse/ZF-9626

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...