POST работает нормально с HTTP, при использовании HTTPS я получаю HTTP / 1.1 405 Метод не разрешен - PullRequest
1 голос
/ 05 октября 2011

Я создал Android-клиент для веб-службы WCF SOAP.Веб-сервис размещен на сервере IIS.Я могу совершать вызовы, используя ksoap2-android через HTTP без проблем, но когда я попытался выполнить вызовы более безопасным способом, используя HTTPS, это не сработало.Я получаю ответ от сервера HTTP/1.1 405 Method Not Allowed.Одним из свойств заголовка является allow=[GET, HEAD, OPTIONS, TRACE], поэтому я предполагаю, что проблема в том, что POST по какой-то причине не разрешено.

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

Обратите внимание, что я могу без проблем подключиться к веб-службе в браузере и что сертификат службы является надежным.Мне не удалось протестировать службу в тестовом клиенте WCF, поэтому я не уверен, что проблема в моем клиенте, сервере или службе.

Я не совсем уверен, куда идтиВот.Я не совсем уверен, что POST не позволено - вот настоящая проблема.Мне кажется, что что-то не так, но я понятия не имею, что это будет.

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Я обнаружил, что проблема в том, что я сделал вызов в каталог (документ по умолчанию?), А не в файл .svc.Когда я заполнил адрес путем к файлу .svc, мне удалось решить эту проблему.Теперь я получаю 404 Not Found вместо этого, но это другой вопрос.

По сути, я позвонил http://mydomain.com/service/, когда мне действительно следовало бы позвонить http://mydomain.com/service/service.svc.

0 голосов
/ 05 октября 2011

Я считаю, что ваша проблема в версии библиотеки ksoap2 androd

Смежные вопросы SO

Итак, ваша проблема может быть одной из следующих:

  • Старая библиотека ksoap2 (старше 2.5.2)
  • Сертификат ненадежного SSL на сервере (ответ, как это исправить, находится здесь: KSOAP 2 Android с HTTPS )
...