2009-05-31 5 views
0

중복 : 정확하게 똑같은 사람으로부터 정확히 같은 질문 인 Issue with Incorrect URLs in the WSDL of a .NET Web Service과 똑같은 대답입니다. 이것을 닫고 다른 것을 합치 자..NET 웹 서비스 - 부적절한 호스트 이름 확인


우리는 클라이언트의 서버에 ASP.NET 웹 사이트를 설치했습니다. 이 사이트에는 뉴스 피드를 표시하기 위해 Flash 객체에 의해 호출되는 몇 가지 웹 메소드가 포함 된 웹 서비스가 있습니다. 자신의 사이트 (예 : www.domain.com)를 탐색하면 플래시를 제외한 모든 것이 정상적으로 작동합니다.

.asmx를 탐색 할 때 헤더는 호스트가 네트워크 내부의 하위 도메인 (internal.domain.com)임을 보여줍니다. 분명히 이것은 네트워크 외부에서 브라우징 할 때 공개 IP를 해결하지 못합니다. 이렇게하면 Flash 객체가 페이지에 포함되어 클라이언트 측을 실행하므로 Flash가 실패하게됩니다.

문제의 서버에서 컴퓨터 이름을 검사했는데 "internal.domain.com"과 일치하지 않습니다. 이는 완전히 다른 것입니다. 어디에서이 정보를 얻고 있습니까? 호스트 헤더가 설정되어 있지 않고 사이트의 IP가 (할당되지 않은 상태로) 설정되어 있기 때문에 IIS에서 오는 것이 아닙니다.

특정 호스트에 대해 웹 서비스가 실행되도록하거나 서버에서 무언가를 변경하여 유효한 공개 대상 호스트 이름으로 확인해야합니다. 모든 도움이 크게 감사드립니다 !!!!

답변

0

웹 서비스 호스트 이름은 일반적으로 .NET에서 사용되는 경우 web.config에 구성됩니다. 그들이 플래시로 소비 될 때 당신은 플래시 파일을 조사해야 할 수도 있습니다. (내 짐작으로 SIT 환경을 위해 여전히 구성되어 있다는 것입니다.

+0

Flash 파일이 웹 서비스를 소비하는 방법에 관계없이 IE의 .ASMX를 직접 탐색하고 웹 메소드가 있으면 호스트는 internal.domain.com으로 표시됩니다. web.config에서 재정의 할 수있는 것은 무엇입니까? 그렇다면 어디에서? – Keith

+0

나는 내가 소비하고있는 일부 서비스에 대해 전에 이것을 보았다. 주요 문제는 WSDL 문서가 잘못된 도메인 이름을 밀어 내고 있다는 것이 었습니다. 문제가있는 곳이 어디인지 확인해 볼 것입니다. 어쨌든 당신은 클라이언트 (플래시)가 실제로 목록에있는 내부 doiman을 신경 쓰지 않고 서비스에 연결하도록 할 수 있어야합니다. – Bluephlame

0

자세한 내용은 확실하지 않지만 WCF와 관련하여이 불만 사항을 보았습니다. 그 대답은 설정과 관련이 있습니다. IIS의 호스트 헤더

IIS가 ASP.NET 또는 WCF에 호스트 이름을 전달하고 구성 할 때 호스트 헤더를 전달합니다. 구성되어 있지 않으면 해당 헤더를 보내지 않을 것입니다. 클라이언트가 요청에 해당 헤더를 설정하더라도 "호스트 이름"으로 사용됩니다.

+0

웃기는 당신은 이것을 언급합니다. IIS (IIS6을 실행 중입니다.)에 호스트 헤더를 설정하여 www.domain.com 및 domain.com을 포함 시키려고 시도했는데이를 테스트 한 결과 사이트를 탐색하려고하는 "잘못된 호스트 이름"을 받았습니다. 그 문제를 해결할 수 있었다면 내부 도메인 이름으로 해석되는 웹 서비스 호스트 이름 문제를 해결할 수 있다고 생각합니까? – Keith

+0

그럴 수도 있습니다. 다시 말하지만,이 기사를 읽었을 때 나는 이것을 읽을 수 없습니다. WCF에 대해이 질문을하는 사람이있었습니다 만, 이것이 내가 그 대답을 보았던 곳인지는 모르겠습니다. –