2011-10-05 2 views
1

WCF SOAP 웹 서비스 용 Android 클라이언트를 만들었습니다. 웹 서비스는 IIS 서버에서 호스팅됩니다. HTTP를 통해 ksoap2-android을 사용하여 문제없이 전화를 걸 수 있지만 HTTPS를 사용하여보다 안전한 방식으로 전화를 수행하려고 시도하면 작동하지 않습니다. 서버에서받는 응답은 HTTP/1.1 405 Method Not Allowed입니다. 헤더 속성 중 하나는 allow=[GET, HEAD, OPTIONS, TRACE]이므로 어떤 이유로 든 POST이 허용되지 않는다고 생각됩니다.POST는 HTTPS를 사용할 때 HTTP를 사용할 때 HTTP/1.1을 얻습니다. 405 메서드가 허용되지 않습니다.

대신 GET을 사용하여 전화를 걸려고했지만 그 중 하나는 작동하지 않습니다. 이것은 정말 이상하지만 연결을 보면 메서드가 GET이지만 연결의 오류 스트림을 보면 메서드가 POST이라고 표시됩니다.

브라우저에서 웹 서비스에 문제없이 연결할 수 있으며 서비스 인증서가 신뢰할 수있는 인증서임을 유의하십시오. WCF 테스트 클라이언트에서 서비스를 테스트 할 수 없어 클라이언트 또는 서버 또는 서비스에 문제가 있는지 확실하지 않습니다.

여기에서 어디로 가야할지 모르겠습니다. 나는 진짜로 POST이 허락되지 않는다고 확신하지 못합니다. 여기서 진짜 문제입니다. 나에게 뭔가 다른 점이있는 것 같지만 그게 뭔지 전혀 모른다.

+0

부분적으로 귀하의 답변에 동의하고 요청 URL이 완전하지 않으며 웹 서비스 서버 구현에 따라 달라지는 추가 정보가 필요합니다 (특정 웹 방법을 다룹니다). – tomasb

답변

0

그 I .svc 파일이 아닌 디렉토리 (기본 문서?)를 호출했습니다. .svc 파일의 경로가있는 주소를 완료하면이 문제를 해결할 수있었습니다. 이제 나는 404 Not Found을 얻지 만 또 다른 질문입니다.

기본적으로 http://mydomain.com/service/service.svc을 호출해야했을 때 기본적으로 http://mydomain.com/service/을 호출했습니다.

0

나는 당신의 문제가 ksoap2 androd 라이브러리의 버전

질문

그래서 문제가 될 수있는 하나의 SO 관련 믿는다 다음 :

  • 올드 ksoap2 라이브러리는 서버에서 (보다 오래된 2.5.2)
  • 신뢰할 수없는 SSL의 certifikate (그것을 해결하는 방법에 대한 답변은 여기에 있습니다 : KSOAP 2 Android with HTTPS) 나는 문제가 있음을 발견
+0

고맙지 만 문제는 아닙니다. 신뢰할 수있는 인증서를 사용하고 있는데 클라이언트가 그것에 대해 불평하지 않습니다. 또한, 현재 ksoap2-android의 최신 버전을 사용하고 있기 때문에 문제가되지 않아야합니다. 그러나 ksoap2-android 자체에 문제가있을 가능성은 열려 있습니다. – Shathur