WCF wsHttpBinding "Не было канала, который мог бы принять сообщение с действием" - PullRequest
2 голосов
/ 15 апреля 2010

[Обновить] Решил проблему, создав новый файл web.config. Возможной ошибкой стала вторая конечная точка («мекс»). [Update /]

У меня есть веб-сервис в IIS.

Я пытаюсь вызвать функцию, но получаю сообщение об ошибке вроде:

Не было ни одного канала, который мог бы принять сообщение с действием 'http://Datenlotsen.Cyquest/ICyquestService/ValidateSelfAssessment'

Я размещаю его в IIS на стандартном веб-сайте. Там я создал виртуальный каталог с именем «CyQuestwebservice». Для конфигурации на стороне клиента я использую Soap UI. Этот инструмент генерирует конфигурацию клиента из wsdl.

мой webconfig выглядит так, вы можете мне помочь?:

<system.serviceModel>
    <extensions>
      <behaviorExtensions>
        <add name="wsdlExtensions" type="WCFExtras.Wsdl.WsdlExtensionsConfig, WCFExtras, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </behaviorExtensions>
    </extensions>
    <services>
      <service behaviorConfiguration="CyquestWebService.Service1Behavior"
        name="CyquestWebService.CyquestService">
        <endpoint address="" behaviorConfiguration="EndPointBehavior"
          binding="wsHttpBinding" bindingNamespace="http://Datenlotsen.Cyquest"
          contract="CyquestWebService.ICyquestService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" bindingNamespace="http://Datenlotsen.Cyquest"
          contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="EndPointBehavior" >
          <wsdlExtensions location="http://wssdev04.datenlotsen.intern/Cyquestwebservice/CyquestService.svc" singleFile="True"/>
        </behavior>
      </endpointBehaviors>  
      <serviceBehaviors>
        <behavior name="CyquestWebService.Service1Behavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
    <system.diagnostics>
      <sources>
        <source name="System.ServiceModel"
                switchValue="Information, ActivityTracing"
                propagateActivity="true">
          <listeners>
            <add name="traceListener"
                type="System.Diagnostics.XmlWriterTraceListener"
                initializeData= "c:\log\Traces.svclog" />
          </listeners>
        </source>
      </sources>
    </system.diagnostics>
</configuration>

Ответы [ 2 ]

0 голосов
/ 14 марта 2016

Попробуйте установить для параметра «Пропустить действие SOAP» значение true в «Свойствах запроса».

У меня была похожая проблема при тестировании wsHttpBinding с использованием SoapUI.

0 голосов
/ 20 апреля 2010

Решил проблему, создав новый файл web.config. Возможной ошибкой стала вторая конечная точка («мекс»).

...