2012-11-16 1 views
0

Я создал службу WCF.Веб-сервис содержит пустой тег сервиса

В WSDL я не вижу URL и ПОРТ, к которым должна быть привязана служба.

Все, что я вижу:

<wsdl:service name="SimpleWebService"/> 

Любая идея, что я делаю неправильно? может быть, что-то в web.config?

<system.serviceModel> 
    <client /> 
    <bindings> 
     <webHttpBinding> 
      <binding closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> 
       <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" /> 
      </binding> 
     </webHttpBinding> 
    </bindings> 
    <services> 
     <service name="WS.OS.SimpleWS" behaviorConfiguration="myServiceBehavior"> 
      <endpoint name="webHttpBinding" address="" binding="webHttpBinding" contract="WS.OS.SimpleWS" behaviorConfiguration="webHttp" /> 
      <endpoint name="mexHttpBinding" address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name="myServiceBehavior"> 
       <serviceMetadata httpGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
      </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
      <behavior name="webHttp"> 
       <webHttp /> 
      </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
+0

Можете ли вы предоставить какой-либо код? файл конфигурации? другой соответствующий исходный код? – Haris

+0

Я обновил сообщение с помощью web.config –

+0

Является ли он размещен в IIS (что я предполагаю, поскольку у вас есть тег serviceHostingEnvironment)? – iMortalitySX

ответ

0

Глядя на этот вопрос, и конфигурации, я предполагаю, что (все мы знаем, где это приводит), что ваша служба размещена в IIS. Поэтому, учитывая адрес «» и никакой порт, вы должны будете посмотреть в настройках IIS, чтобы найти сайт и порт, на котором открыт сервис. Defualt для НТТР 80 и HTTPS 443.

Так быстрый пример, если ваш сервис на «По умолчанию веб-сайта» в IIS, то ваш сервис будет вероятно быть:

http://YourServer/YourService/YourService.svc 

Если есть веб-приложение, размещенное там, которое находится на определенном другом сайте, вам нужно будет изучить настройки IIS, чтобы найти его. Обычно также, чтобы IIS размещал SVC как по умолчанию, чтобы вы могли иметь только первые две части, а не фактическую страницу в своем URI. Я не думаю, что у вас будет много удачи, если вы не начнете копаться на своем веб-сервере.

1

Создание конечной точки с помощью webHttpBinding создает конечную точку REST. Конечные точки REST не имеют wsdl. В вашем случае вы видите wsdl, потому что вы включили поведение метаданных. У вас будет конечная точка, указанная в WSDL только для конечных точек SOAP. Это хорошее сообщение в блоге, которое поможет вам понять это лучше: http://blogs.msdn.com/b/carlosfigueira/archive/2012/03/26/mixing-add-service-reference-and-wcf-web-http-a-k-a-rest-endpoint-does-not-work.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^