Azure에 배포 한 간단한 서비스가 있습니다. , 분명히WSDL URL을 내부 컴퓨터 이름에서 공개로 변경하는 방법은 무엇입니까?
svcutil.exe http://rd001520d328923a/MyTestService.svc?wsdl
를 WSDL이있는 시스템 외부에서 액세스 할 수 없습니다 :
이http://xxxxxxxxxxxxxxxxxxxxxxx.cloudapp.net/MyTestService.svc
은 WSDL에 대한 URL은 공공 DNS 대신 내부 컴퓨터 이름을 사용을 통해 액세스 할 수 있습니다.
IIS에서이 프로그램을 실행하는 경우 또는 서비스 URL을 알고있는 경우 변경할 수있는 몇 가지 사항을 알고 있습니다. 예를 들어 <serviceMetadata>
구성을 변경하여 httpGetUrl
속성을 지정하면되지만 절대 URL을 포함해야하므로 작동하지 않습니다. 상대 URL을 사용하면 여전히 내부 시스템 이름이 사용됩니다. 실제 문제는 WSDL에 컴퓨터 이름과 함께 URL 참조가 포함되어있어 쓸모 없게 만듭니다. 내가, WSDL을 잡아가 다른 URL에서 액세스 할 수 있도록 그것을 URL을 수정 한 후 업로드를 편집 할 수 있음을 제안하고있다
:
두 이하의 해결 방법이 있습니다.
2010 년 초부터 핫픽스를 사용할 수 있었지만 더 나은 방법이 있어야합니다.
컴퓨터 이름 대신 일반인이 DNS를 사용하게하려면 어떻게 해결할 수 있습니까?
이 작업은 우리에게 완벽하게, 우리는 우리의 wsdl에서 localhost 참조를 얻었고 이제는 적절한 외부 주소 (.NET 4.0, 자체 호스팅 wcf)를 얻게되었습니다 –
덕분에 많은 시간을 절약 할 수있었습니다. –