我有一个具有不同WCF REST服务的项目。它没有svc文件或合同接口。我必须向该项目添加新服务,但需要通过SOAP公开它。添加REST服务很容易,我只需添加具有必需属性的新类(方法上的WebInvoke()),然后在global.asax Application_Start事件中添加新路由。而且有效。
但是我被困在如何通过SOAP公开新服务上。我尝试为新服务添加svc文件并修改配置文件。 当前,由于该项目仅具有REST服务,因此Web.config如下:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true" />
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true"
automaticFormatSelectionEnabled="false"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
我在system.serviceModel中添加了以下属性:
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="ValidateSOAP">
<endpoint address="soap" binding="basicHttpBinding"
contract="IValidateSOAP"/>
</service>
</services>
我在配置中缺少什么?