2010-03-16 16 views
5

मुझे डब्ल्यूसीएफ वेब सेवा तक पहुंचने का प्रयास करते समय यह अपवाद मिल रहा है।डब्ल्यूसीएफ, रिमोट सर्वर ने एक त्रुटि लौटा दी: (400) खराब अनुरोध

[WebException: The remote server returned an error: (400) Bad Request.] 
    System.Net.HttpWebRequest.GetResponse() +5314029 
    System.ServiceModel.Channels.HttpChannelRequest.WaitForReply(TimeSpan timeout) +54 

सर्वर सूचना

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="wcfSmartConnect" closeTimeout="10:01:00" 
        maxBufferSize="104857600" maxBufferPoolSize="104857600" 
        maxReceivedMessageSize="104857600" openTimeout="10:01:00" 
        receiveTimeout="10:10:00" sendTimeout="10:01:00" 
        messageEncoding="Mtom" transferMode="StreamedRequest"> 
      <readerQuotas maxDepth="104857600" maxStringContentLength="104857600" 
          maxArrayLength="104857600" maxBytesPerRead="104857600" 
          maxNameTableCharCount="104857600" /> 
     </binding> 
     </basicHttpBinding> 
    </bindings> 
    <services> 
     <service name="WcfSmartConnect.Service1" 
       behaviorConfiguration="WcfSmartConnect.Service1Behavior"> 
     <endpoint 
       address="" 
       binding="basicHttpBinding" 
       bindingConfiguration="wcfSmartConnect" 
       contract="WcfSmartConnect.IService1"> 
      <identity> 
       <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint 
       address="mex" 
       binding="mexHttpBinding" contract="IMetadataExchange" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
      <behavior name="WcfSmartConnect.Service1Behavior"> 
      <serviceMetadata httpGetEnabled="true"/> 
       <serviceDebug includeExceptionDetailInFaults="false"/> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
</system.serviceModel> 

ग्राहक सूचना

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
     <binding name="wcfSmartConnect" closeTimeout="10:01:00" 
        maxBufferSize="104857600" maxBufferPoolSize="104857600" 
        maxReceivedMessageSize="104857600" openTimeout="10:01:00" 
        receiveTimeout="10:10:00" sendTimeout="10:01:00" 
        messageEncoding="Mtom" transferMode="StreamedRequest"> 
      <readerQuotas maxDepth="104857600" maxStringContentLength="104857600" 
          maxArrayLength="104857600" maxBytesPerRead="104857600" 
          maxNameTableCharCount="104857600" /> 
     </binding> 
     </basicHttpBinding> 
     <wsHttpBinding> 
      <binding name="WSHttpBinding_IService11" closeTimeout="01:00:00" 
        openTimeout="01:00:00" receiveTimeout="01:00:00" 
        sendTimeout="01:00:00" bypassProxyOnLocal="false" 
        transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
        maxBufferPoolSize="1048576000" maxReceivedMessageSize="1048576000" 
        messageEncoding="Text" textEncoding="utf-8" 
        useDefaultWebProxy="true" allowCookies="false"> 
       <readerQuotas maxDepth="104857600" maxStringContentLength="104857600" 
          maxArrayLength="104857600" maxBytesPerRead="1048576000" 
          maxNameTableCharCount="104857600" /> 
       <reliableSession ordered="true" inactivityTimeout="00:10:00" 
           enabled="false" /> 
       <security mode="TransportWithMessageCredential"> 
        <transport clientCredentialType="Windows" 
           proxyCredentialType="None" realm="" /> 
        <message clientCredentialType="Windows" 
          negotiateServiceCredential="true" algorithmSuite="Default" 
          establishSecurityContext="true" /> 
       </security> 
      </binding> 
     </wsHttpBinding> 
    </bindings> 
    <client> 
     <endpoint name="WSHttpBinding_IService11" 
      address="http://abc.com/API/serv.svc" 
      binding="wsHttpBinding" 
      bindingConfiguration="WSHttpBinding_IService11" 
      contract="SmartConnectRepublic.IService1" > 
      <identity> 
       <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint name="BasicHttpBinding_IService1" 
      address="http://localhost:4649/Service1.svc" 
      binding="basicHttpBinding" 
      bindingConfiguration="wcfSmartConnect" 
      contract="SmartConnect.IService1" /> 
    </client> 
</system.serviceModel> 
+0

और वास्तव में आप किन बाइंडिंग का उपयोग कर रहे हैं ?? BasicHttp बाइंडिंग या wsHttp बाइंडिंग ?? –

उत्तर

2

बाइंडिंग आप हमें अपनी स्थापना के बारे में थोड़ा बता सकते हैं बाइंडिंग?

  • आप किस बाध्यकारी का उपयोग करते हैं?
  • क्या यह एकमात्र सेवा विधि है? यदि नहीं: क्या दूसरों को काम करते हैं?
  • हमें क्लाइंट और सर्वर पर कॉन्फ़िगरेशन दिखाएं! (<system.serviceModel> अंदर सब कुछ ब्याज की है)

सर्वर के लिए इंतज़ार कर के रूप में यदि ग्राहक का समय समाप्त ऐसा लगता है - यह हो सकता है क्योंकि सर्वर को प्रतिक्रिया देने समय लगता है (यदि आप डेटा लोड हो रहा है की एक बहुत कुछ कर); उस स्थिति में, आपको सर्वर पर अपने टाइमआउट और क्लाइंट

या तार पर बहुत अधिक डेटा पैकेट भेजना पड़ सकता है - उस स्थिति में, आपको maxReceivedMessageSize et al के लिए सेटिंग्स को बढ़ाने की भी आवश्यकता हो सकती है ।

@ पिनू: क्या आप 5 एमबी अपलोड करने की कोशिश कर रहे हैं? आपके पास ट्रांसफरमोड = स्ट्रीमआरक्वेट है, जिसका अर्थ क्लाइंट से सर्वर पर आपका अनुरोध स्ट्रीम किया जाएगा।

यदि आप 5 एमबी स्थानांतरित कर रहे हैं, तो स्ट्रीम करना एक अच्छा विचार है - आप किस तरह से बाइट्स को स्थानांतरित करते हैं ??

+0

हे मार्क, मैंने कॉन्फ़िगरेशन फ़ाइल जानकारी अपडेट की है। हम 5 एमबी (अधिकतम) भेजने की कोशिश कर रहे हैं। और मैं पहले से ही maxreceivedmessagesize = 100mb seet seet है। इसलिए मुझे नहीं लगता कि समस्या होनी चाहिए – Pinu

+0

हे मार्क, यह ट्रांसफर्मोड = "स्ट्रीम" को सक्षम करते समय उस त्रुटि को फेंक रहा है, यह इस त्रुटि को फेंक रहा है। ट्रांसफर्मोड = बफर के साथ यह मुझे 3 एमबी फाइलों को भेजने की अनुमति देता है। मैं मेमोरी स्ट्रीम का अनुरोध करने के लिए संदेश अनुबंध और मेमोरी स्ट्रीम का भी उपयोग कर रहा हूं – Pinu

संबंधित मुद्दे

 संबंधित मुद्दे