I am newbie to WCF. I am looking to steps to deploy WCF on IIS and consume the service. I have follow the steps same as to deploy the Website on IIS, also set the default document to Service1.svc
Now when I am trying to consume this wcf service it is giving me the following error.
Metadata contains a reference that cannot be resolved: 'http://manish-pc:8000/Service1.svc?wsdl'.
The WSDL document contains links that could not be resolved.
There was an error downloading 'http://manish-pc:8000/Service1.svc?xsd=xsd0'.
The underlying connection was closed: An unexpected error occurred on a receive.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'http://localhost:8000/Service1.svc'.
Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost:8000/Service1.svc. The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.
Follwing is my Service Details in Web.Config file
<system.serviceModel>
<services>
<service behaviorConfiguration="DemoWCF.Service1Behavior" name="DemoWCF.Service1">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/Service1.svc"/>
</baseAddresses>
</host>
<endpoint address="http://localhost:8000/Service1.svc"
binding="basicHttpBinding"
contract="DemoWCF.IService1"
bindingConfiguration="basicBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicBinding" textEncoding="utf-8"></binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="DemoWCF.Service1Behavior">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Please guide me where I'm lacking and what steps to make. Thanks.
After search on google and watching videos. Finally I got the solution.
This error occur due to IIS configuration that I was not bother about.
- open your IIS Manager console.
- Make a separate applicaiton pool.
a). Set .NET Framework version to 4.0
b). Managed pipeline mode : Classic - Set Applicaiton Pool Identity to "LocalSystem".
- Follow the steps same as to deploy a web application on IIS like creating a Virtual Directory.
- Creatig the Virtual Directory set that Application Pool you have created.
And consume the WCF Service in Client application.
Kindly Update this question / answer thread, if you find more about this.
Thanks :)
来源:https://stackoverflow.com/questions/14724125/deploy-wcf-service-in-iis-7-5