Я создаю службу WCF4 с конечными точками REST и SOAP для размещения в IIS 7.5.
Я использовал шаблон REST WCF4 в качестве примера.
Однако у меня есть несколько вопросов относительно моей настройки.
Вот мой webconfig
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<behaviors>
<endpointBehaviors>
<behavior name="REST">
<webHttp helpEnabled="true"/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="MEXGET">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MEXGET" name="Project.WebService.VehicleService">
<endpoint
address=""
behaviorConfiguration="REST"
binding="webHttpBinding"
contract="Project.WebService.IVehicleService" />
<endpoint
address="soap"
binding="basicHttpBinding"
contract="Project.WebService.IVehicleService" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Я удалил стандартный раздел «Конечные точки» и добавил свои собственные конечные точки.
Там нет файлов .svc, так как я установил маршруты в global.asax, как показано ниже
private void RegisterRoutes()
{
RouteTable.Routes.Add(new ServiceRoute("VehicleService", new WebServiceHostFactory(), typeof(VehicleService)));
}
Страницы справки доступны через http://localhost:1313/ServiceTest/VehicleService/help
Я также использовал тестовый клиент WCF для доступа к http://localhost:1313/ServiceTest/VehicleService/mex
который показывает метаданные для конечной точки SOAP
Но как мне получить WSDL службы?
С файлом svc я могу найти wsdl в http://localhost:1313/ServiceTest/VehicleService.svc?wsdl Однако у меня нет файла .svc.
И при этом я не могу найти WSDL в http://localhost:1313/ServiceTest/VehicleService?wsdl или http://localhost:1313/ServiceTest/VehicleService/soap?wsdl
Нужно ли добавлять файл .svc, если я хочу опубликовать WSDL для конечной точки SOAP?