0

でサービスをセットアップしようとしていますwsHttpBinding。サービス ページは firefox で正常に読み込まれますが、WCFTestClient を使用してリクエストを行うと、EndPoint何らかの理由で mex にアクセスしようとしているように見えるため、障害例外が発生します。ご覧のとおり、mex もリストされていません。構成は次のとおりです。

<system.serviceModel>    
    <services>
      <service name="WorkFlowManagement" behaviorConfiguration="WorkFlowManagementBehavior">
        <endpoint binding="wsHttpBinding" contract="IWorkflowManagement"
                  bindingConfiguration="WSHttpBinding_IWorkflowManagement"
                  name="WSHttpBinding_IWorkflowManagement"/>
      </service>
    </services>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_IWorkflowManagement" maxBufferPoolSize="999965536"
                 maxReceivedMessageSize="999965536" messageEncoding="Text" textEncoding="utf-8">
          <readerQuotas maxArrayLength="999965536" maxBytesPerRead="999965536" maxDepth="999965536"
                        maxNameTableCharCount="999965536" maxStringContentLength="999965536"/>
          <security mode="None"/>
        </binding>
      </wsHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="WorkFlowManagementBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <sqlWorkflowInstanceStore
            connectionString="my connection string"
           instanceEncodingOption="None" instanceCompletionAction="DeleteAll" instanceLockedExceptionAction="BasicRetry" hostLockRenewalPeriod="00:00:30" runnableInstancesDetectionPeriod="00:00:02" />
          <workflowIdle timeToUnload="0"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
      <serviceActivations>
        <add factory="SecAmerInc.STPCore.Services.WorkFlowManagment.WFServiceFactory"
             relativeAddress="./WorkFlowManagement.xamlx"
             service="WorkFlowManagement.xamlx"/>
      </serviceActivations>
    </serviceHostingEnvironment>
  </system.serviceModel>

ただし、これは例外メッセージです。

To 'http://localhost/SecAmerInc.STPCore.Services.WorkFlowManagement/WorkFlowManagement.xamlx/mex' を含むメッセージは、EndpointDispatcher での AddressFilter の不一致により、受信側で処理できません。送信者と受信者の EndpointAddresses が一致していることを確認してください。

これは WCFTestClient の構成です。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_IWorkflowManagement" sendTimeout="00:05:00">
                    <security mode="None" />
                </binding>
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost/SecAmerInc.STPCore.Services.WorkFlowManagement/WorkFlowManagement.xamlx"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWorkflowManagement"
                contract="IWorkflowManagement" name="WSHttpBinding_IWorkflowManagement" />
        </client>
    </system.serviceModel>
</configuration>
4

1 に答える 1

0

MEX (Metadata Exchange) エンドポイントは、サービスに関するメタデータを発信者に送信します。このツールは、サービスとの通信方法を理解するためにメタデータを必要とする可能性があります。このツールでテストする場合は、MEX エンドポイントを定義します。

于 2013-01-08T20:58:09.347 に答える