由于EndpointDispatcher上的AddressFilter不匹配,无法在接收方处理wcf post

时间:2016-08-25 13:52:41

标签: wcf post

我有" X"服务(下面是webmethod代码)调用" Y" service(配置文件中提到的端点)。

**Webmethod**

 [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]**strong text**


**Webconfig**

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
        <machineKey decryption="AES" decryptionKey="F7FA540B4DFD82E5BB196B95D15FF81F58B2DF0E536CBE4C795F66A6198D226F" validation="SHA1" validationKey="58B2DF0E536CBE4C795F66A6198D226F3627B7C69DE62168764FF0DCE537184F0535D5D9AD66DEDC58B2DF0E536CBE4C795F66A6198D226F3627B7C697DC1ABF" />
    </system.web>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="BasicHttpBinding_IController" maxReceivedMessageSize="2147483647" useDefaultWebProxy="false" messageEncoding="Mtom" />
            </basicHttpBinding>
            <webHttpBinding>
                <binding name="StreamedRequestWebBinding" openTimeout="10:15:00" receiveTimeout="10:15:00" sendTimeout="10:15:00" bypassProxyOnLocal="true" hostNameComparisonMode="WeakWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="StreamedRequest" useDefaultWebProxy="false">
                    <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
                    <security mode="Transport">
                        <transport clientCredentialType="None" />
                    </security>
                </binding>
                <binding name="SecuredWebBinding" openTimeout="10:15:00" receiveTimeout="10:15:00" sendTimeout="10:15:00" bypassProxyOnLocal="true" hostNameComparisonMode="WeakWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"  useDefaultWebProxy="false">
                    <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
                    <security mode="Transport">
                        <transport clientCredentialType="None" />
                    </security>
                </binding>
            </webHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://prodserver/service.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IController" contract="WalkTestController.IWalkTestController" name="BasicHttpBinding_IWalkTestController" />
        </client>
        <behaviors>
            <endpointBehaviors>
                <behavior name="WalkTestControllerBehavior">
                    <dataContractSerializer maxItemsInObjectGraph="2147483647" />
                </behavior>
                <behavior name="Web">
                    <webHttp/>
                </behavior>
            </endpointBehaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false" />

        <diagnostics>
            <messageLogging logEntireMessage="false" logMalformedMessages="false" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
        </diagnostics>
        <protocolMapping>
            <add scheme="http" binding="webHttpBinding"/>
            <add scheme="https" binding="webHttpBinding" bindingConfiguration="SecuredWebBinding"/>
        </protocolMapping>
    </system.serviceModel>

    <system.diagnostics>
        <sources>
            <source name="System.ServiceModel.MessageLogging">
                <listeners>
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                        <filter type="" />
                    </add>
                    <add name="ServiceModelMessageLoggingListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
            <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing" propagateActivity="true">
                <listeners>
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                        <filter type="" />
                    </add>
                    <add name="ServiceModelTraceListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add initializeData="web_messages.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp, ProcessId, ThreadId, Callstack">
                <filter type="" />
            </add>
            <add initializeData="web_tracelog.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="ServiceModelTraceListener" traceOutputOptions="Timestamp, ProcessId, ThreadId, Callstack">
                <filter type="" />
            </add>
        </sharedListeners>
        <trace autoflush="true" />
    </system.diagnostics>
</configuration>

当我尝试通过POSTMAN调用客户端调用时,在下面的跟踪文件中是我面临的错误

  由于EndpointDispatcher上的AddressFilter不匹配,

无法在接收方处理。检查发件人和   接收者的EndpointAddresses同意。

感谢是否有人可以快速帮助我!

0 个答案:

没有答案