Я новичок в WCF, поэтому, пожалуйста, потерпите меня.
Используя последнюю версию начального набора WCF REST, я создал веб-сервис, который вызывается приложением Android. Конечная точка RESTful работает нормально, но я хотел бы создать конечную точку SOAP, чтобы клиент .NET мог использовать ее и генерировать все необходимые классы.
Я все еще использую файл конфигурации по умолчанию, и меня немного смущает, что мне с ним делать.
Вот оно
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<!--
Configure the WCF REST service base address via the global.asax.cs file and the default endpoint
via the attributes on the <standardEndpoint> element below
-->
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
</configuration>
Я думаю, что мне нужно добавить следующее где-нибудь в файл конфигурации, но я не уверен, где он находится или я на правильном пути.
<endpoint name="mex" address="mex" binding="mexHttpBinding" contract="Service1"/>
<endpoint name="soap" address="soap" binding="basicHttpBinding" contract="Service1"/>
У меня только один класс, это Service1.cs. Я пытался внести некоторые изменения, но у меня ничего не получилось.
Я хотел бы знать, что я должен добавить, и объяснение, почему это необходимо, было бы замечательно.
- Обновление -
После того, как я вставил тег services, у меня возникли проблемы с получением функции «Add Service Reference» для работы в visual studio. Я обнаружил, что «HttpGetEnabled» должен быть истинным, поэтому он будет публиковать метаданные службы в http.
Я добавил это, и похоже, что оно работает.
<behaviors>
<serviceBehaviors>
<behavior name="Service1Behavior">
<serviceMetadata httpGetEnabled="true" policyVersion="Policy15"/>
</behavior>
</serviceBehaviors>
</behaviors>
Если я добавлю больше сервисов, нужно ли мне создавать еще две конечные точки для этого сервиса?
Спасибо.