2016-05-06 6 views
0

Ich verwende WCF-Dienst mit dynamischer Proxyerstellung auf statischer IP. Url = "http: //" + staticIP + "/CM.svc"WCF-Dienst - Fehler 400-Anforderung auf dynamischen Proxy

BasicHttpBinding Bindung = neu BasicHttpBinding();

Haben Sie auch bind.MaxReceivedMessageSize gesetzt = 2147483647; MaxBufferSize, MaxBufferPoolSize, ReceiveTimeout, Opentimeout, Close, Sendtimeout, transfer ...

EndpointAddress endpoint = new EndpointAddress(Url); 
ChannelFactory<ICMOnlineApp> factory = new ChannelFactory<ICmOnlineApp>(binding, endpoint); 

foreach(var operation in factory.Endpoint.Contract.Operations) 
{ 
operation.Behaviors.find<DataContractSerializerOperationBehavior>().DataContractResolver = new DynamicTypeResolver(); 

ICMOnlineApp proxy = factory.CreateChannel(); 

return proxy; 

} 

Auch ich habe alle Einstellungen in web.config-Datei von WCF-Dienst getan.

Noch bekomme ich diesen Fehler. Bitte führen.

+1

Was ist Ihr Kunde tatsächlich zu dem Dienst? Hast du überprüft, was zum Draht geht? Sie können wireshark, tcpmon verwenden oder die WCF-Ablaufverfolgung dafür aktivieren. – Juan

+0

Ich sende 21 Parameter an den Webservice. Beinhaltet 10 Datentypen, 1 Dataset, 1 Hashtable und andere String/Dezimal-Parameter. Ich habe die WCF-Ablaufverfolgung aktiviert. Es gibt mir "Das maximale Nachrichtengröße Kontingent für eingehende Nachrichten (65536) wurde überschritten. Um das Kontingent zu erhöhen, verwenden Sie die MaxReceivedMessageSize -Eigenschaft für das entsprechende Bindungselement. – Jaykishan

+0

Haben Sie die Eigenschaften sowohl auf dem Client und dem Server? – Juan

Antwort

0

Für den Fehler, der in den WCF-Ablaufverfolgungen angezeigt wird, sieht der Dienst, dem Sie die Nachricht senden, die Größe der Nachricht nicht zu.

"The maximum message size quota for incoming messages(65536) has been exceed" 

Ändern Sie die Konfiguration des WCF-Dienst und dem Client zu ermöglichen, Nachrichten von dieser Größe:

<bindings> 
    <basicHttpBinding> 
     <binding name="basicHttp" allowCookies="true" 
       maxReceivedMessageSize="2147483647" 
       maxBufferSize="2147483647" 
       maxBufferPoolSize="2147483647"> 
      <readerQuotas maxDepth="32" 
       maxArrayLength="2147483647" 
       maxStringContentLength="2147483647"/> 
     </binding> 
    </basicHttpBinding> 
</bindings> 
+0

ich habe Dies ist bereits in meiner WCF web.config-Datei und auch in der dynamischen Bindung geschehen. Lassen Sie mich wissen, ob es eine andere Lösung gibt. – Jaykishan

+0

können Sie Ihre Konfigurationsdatei im WCF-Dienst und den Code, den Sie in Ihrer dynamischen Bindung verwenden, anzeigen dann? – Juan

+0

finden Sie unten Config-Datei. – Jaykishan

Verwandte Themen