이를 해결하기 위해 확인한 결과, serviceMetadata 의 hehavior 를 변경하는 건데요. 이를 변경하기 위해선 httpGetUrl 또는 httpsGetUrl 을 명시할 metadata 위치가 무엇인지 명시해 줘야 합니다. 그래서 이래처럼 url 에 도메인 주소를 추가하였습니다.
<system.serviceModel> <services> <service name="Demo.Service.MultiEndPointsService" behaviorConfiguration="serviceBehaviour"> <endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="basicBinding" contract="Demo.Service.MultiEndPointsService" /> </service> </services> <behaviors> <serviceBehaviors> <behavior name="serviceBehaviour"> <serviceMetadata httpGetEnabled="true" httpGetUrl="http://192.168.3.61/Demo.Service/MultiEndPointsService.svc/basic" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> <bindings> <basicHttpBinding> <binding name="basicBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"> <security mode="None"></security> <readerQuotas maxStringContentLength="2147483647" /> </binding> </basicHttpBinding> </bindings> </system.serviceModel>
httpGetUrl 값에 ip 주소를 명시한것을 보실 수 있습니다.
이제 브라우저에서 이를 실행해 볼까요?
위처럼 안되면 iis 상에 도메인 넣는 부분이 있습니다. 그 부분을 지정해 주시면 잘되기도 합니다.
http://knowledgebaseworld.blogspot.kr/2010/06/domain-name-replaced-with-machine-name.html