2010-07-14 3 views
3

동료 중 한 명이 .NET WebService에 대한 AJAX 호출에 문제가 있습니다. 이 호출은 HTTP에서 작동하지만 동일한 호출에서 HTTPS에 문제가있는 것입니다. webservice는 IIS 7.0 서버에서 C#으로 .NET 4.0으로 작성되었습니다.SVC WebService가 HTTP를 통해 작동하고 HTTPS가 실패 함

보안 웹 사이트는 https://sql.data-rx.com/grouppharmdrugsearch/입니다. http://sql.data-rx.com/grouppharmdrugsearch/에 보안되지 않은 버전이 있습니다. 페이지 자체에는 중요한 정보가 없습니다. 그것은 HTTPS를 사용하는 클라이언트의 웹 사이트에 임베디드되어 있으며, HTTPS를 사용해야하므로 브라우저는 보안 된/보안되지 않은 요소가 혼합 된 메시지를 제공하지 않습니다.

사이트의 문제를 테스트하려면 두 번째 텍스트 상자에 우편 번호를 입력해야합니다. (테스트를 위해 90210을 사용하고 있습니다.) 그런 다음 세 번째 텍스트 상자에 약물의 처음 몇 글자를 입력 할 수 있습니다. 추가 문자를 기다리면 페이지는 웹 서비스를 호출하여 제공된 문자로 시작하는 약품 드롭 다운 목록을 채 웁니다. 보안 웹 서비스 호출은 'prefixText'및 'count'에 대한 POST 데이터가있는 https://sql.data-rx.com/grouppharmdrugsearch/Service/drugNameAutocomplete.svc/GetDrugList입니다. HTTP에서는 서비스 호출이 성공하고 드롭 다운이 채워집니다. HTTPS에서 404 오류가 발생합니다. 브라우저가 https://sql.data-rx.com/grouppharmdrugsearch/Service/drugNameAutocomplete.svc 인 경우 HTTPS 웹 서비스에 연결할 수 있지만 서비스에 추가 될 때 메소드가 인식되지 않습니다.

저는 Firefox의 Tamper Data Addon을 사용하여 서비스 호출을 비교했으며, HTTPS 사이트와 HTTP 사이트를 제외하고 리퍼러가 적절하게 변경된 경우를 제외하고는 정확히 동일하게 나타납니다. HTTPS 호출은 404 오류를 수신하는 반면 HTTP 호출은 JSON 데이터를 수신합니다.

나는 웹 서비스에서 HTTPS (이 경우 중요해야 할 사항을 생각할 수는 없지만)를 호출 할 수있는 서비스가 누락되어 있거나 HTTPS 웹 사이트 자체가 잘못 구성되었을 수 있다고 생각합니다. 그것은 설정되었습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

3

우리는 결국 this site에서 해결책을 찾아 냈습니다. 기본적으로 바인딩은 HTTPS가 아닌 HTTP 용으로 만 구성되었으며 HTTPS를 통해 웹 서비스가 작동하도록 사용자 정의 바인딩을 만들어야합니다.

+0

잘 작동합니다. 바인딩 블록을 추가하고 속성을 설정하기 만하면됩니다. TNX man;) –

관련 문제