Я пытаюсь помочь клиенту взаимодействовать с клиентом PHP, но у нас есть балансировщик нагрузки, который находится перед фермой IIS. Из-за этого, когда вы на самом деле просматриваете .svc? Wsdl, вы получаете определенный сервер, указанный в этом WSDL. Затем, когда мой клиент пытается сгенерировать клиента, используя что-то вроде этого
$client = new SupplierService();
Они получают тайм-аут для определенного сервера в ферме (не тот адрес, который мы им дали, который указывает на сам балансировщик нагрузки)
Я даже сплющил WSDL вручную, сгенерировал .net-клиента с помощью svcutil, чтобы доказать, что этого WSDL должно быть достаточно для получения действительного вызова через балансировщик нагрузки (и .net-клиент работает, используя этот плоский сгенерированный WSDL-клиент )
После того, как я получил эту работу, я отправил клиенту по электронной почте этот плоский файл WSDL, чтобы сгенерировать из него действительный php-клиент (а не uri, который вызывал проблемы), и он просто завис. Без сообщения об ошибке или исключения, чтобы перейти от ...
Также, когда я наблюдаю фактическое сообщение, полученное с помощью Wireshark, данные SOAP клиента .net и php выглядят почти одинаково. все же клиент .net работает и клиент php зависает без ошибок, возвращенных клиенту или зарегистрированных через .NET
Что-нибудь, что я мог здесь упустить или о чем следует знать при взаимодействии с WCF за балансировщиком нагрузки?