2012-03-19 15 views
9

私はシンプルなWCFサービスを実行しようとしている..."でリスニングなしエンドポイントがありませんでした..."

私のWCFサービスの.configは:

<system.serviceModel> 
<services> 
    <service name ="WebService.Receptor"> 
    <endpoint 
     address = "http://MyServer:8000/WS" 
     binding = "wsHttpBinding" 
     contract = "IMyContract" 
    /> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior> 
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 

マイWindowsサービス.config:

<system.serviceModel> 
<client> 
    <endpoint 
    name = "Receptor" 
    address = "http://MyServer:8000/WS" 
    binding = "wsHttpBinding" 
    contract = "IMyContract" 
    /> 
</client> 
</system.serviceModel> 

Obs:The Wcf Serv

There was no endpoint listening at http://MyServer:8000/WS that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

内部例外:

{"Unable to connect to the remote server"}

私はこのエラーを得たWCFプロキシ(IMyContract)からメソッドを呼び出すしようとすると、氷は、7

ように、Windows上のIIS 7.5で実行されています

誰でも知っていますか?

答えて

11

IISでWCFサービスをホストすると、アドレスに絶対URLは指定されません。 .svcファイルへの相対URLを使用する必要があります。ベースURLは、ホストされているWebサイトによって決定されます。これは、あなたが8000ポートでリッスンIISでサイトを構成していることを前提とし

<client> 
    <endpoint 
     name="Receptor" 
     address="http://MyServer:8000/WS.svc" 
     binding="wsHttpBinding" 
     contract="IMyContract" 
    /> 
</client> 

<service name="WebService.Receptor"> 
    <endpoint 
     address="/WS.svc" 
     binding="wsHttpBinding" 
     contract="IMyContract" 
    /> 
</service> 

とクライアント上で、あなたのIISの設定方法に応じて、あなたは明らかに完全なアドレスを指定する必要があります

このサイト内でWCFアプリケーションをホストしていることを確認してください。