2010-06-25 3 views
2

Я не уверен, существует ли какая-либо разница для клиента PHP-Nusoap при отправке запроса веб-сервисов на http и https. Для тестирования пользователя клиент использовал http://xxx.xxx.xxx.xxx:3833/ws/ws.svc?wsdl, который работал нормально. Однако, когда клиент перешел на производственный сервер с https (замените http в предыдущей ссылке на https), я не получаю никакого ответа.Nusoap с https

Заранее спасибо

ответ

0

У меня была такая же проблема, как это работает нормально на HTTP, но не на протокол HTTPS. Просто чтобы поделиться всем моим пулом программ, чтобы помочь другим.

Я изначально следовал этому учебнику: php webservice with nusoap and c#. Единственное, что он не говорит в учебнике, это то, что вы должны поместить весь PHP-код в один php-файл (но все в порядке, это может быть просто прямо, поэтому никаких реальных претензий к этому нет).

Я сначала попробовал это на http, и я был счастлив, что сработал, но позже мне пришлось переместиться на ssl, и поскольку я тестировал его на своем локальном сервере, у меня был собственный сертификат, и я получил ошибку: Основное соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL/TLS ».

Я гугле и, наконец, нашел решение по этой ссылке здесь: damir dobric blog

В принципе, вы должны добавить строку:

ServicePointManager.ServerCertificateValidationCallback += 
new System.Net.Security.RemoteCertificateValidationCallback(
customXertificateValidation); 

и добавить реализацию функции customXertificateValidation вернуть истинный (это то, что Я сделал для тестирования).

Хорошо, я надеюсь, что это поможет кому-то, потому что он заставил меня подчеркнуть неделю!