2009-07-28 19 views
5

मैं एक WCF सेवा लोड संतुलन के पीछे तैनात किया है, जब मैं सोप यह बहुत अच्छा काम करता है के साथ यह तक पहुँचने की कोशिश संसाधित करने में विफल है, लेकिन बाकी यूआरएल के माध्यम से यह तक पहुँचने के लिए जब मैं कोशिश मैं नीचे उल्लेख त्रुटि मिलती है ।WCF बाकी: WebHost अनुरोध

यह बाकी यूआरएल मैं https के साथ यह तक पहुँचने की कोशिश है: // devreporting.dev.sample.com/ReportingManagement.svc/getAddtionsByCategory ..

लोड संतुलन वीआईपी है https: // devreporting.dev .sample.com और वहाँ फ़ायरवॉल है जो

dev01

मेरा मानना ​​है कि यह मेजबान हेडर के साथ कुछ समस्या है के पीछे केवल एक ही सर्वर, लेकिन यकीन है कि यह कैसे तय करने के लिए नहीं है। किसी भी विचार की बहुत प्रशंसा की जाएगी।

Message: WebHost failed to process a request. Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/12646224 
Exception: 

System.Web.HttpException: There was no channel actively listening at 'https://dev01.dev.sample.com:17005/ReportingManagement.svc/reporting/getAddtionsByCategory'. 
     This is often caused by an incorrect address URI. 
     Ensure that the address to which the message is sent matches an address on which a service is listening. ---> 
    System.ServiceModel.EndpointNotFoundException: There was no channel actively listening at 'https://dev01.dev.sample.com:17005/ReportingManagement.svc/reporting/getAddtionsByCategory'. 
      This is often caused by an incorrect address URI. 
      Ensure that the address to which the message is sent matches an address on which a service is listening. 
    at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)  
    at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest() at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest() 
    --- End of inner exception stack trace ---  
    at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result) 
    at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) 
    Process Name: w3wp Process ID: 4760 
+0

की तरह काम किया, क्या आप कृपया कर सकते हैं समझाने SOAPURI के बीच अंतर क्या है और आराम यूआरआई क्या आपका मतलब है कि कोई एचटीपी पर है और दूसरा एचटीपीएस पर है? – hussian

उत्तर

11

ओह ... मैं अपने अनुभाग में सुरक्षा विन्यास याद आ रही थी, जब मैं यह कहा, चीजों आकर्षण

<webHttpBinding> 
    <binding name="CommerceRESTBinding"> 
     <security mode="Transport"> 
       <transport clientCredentialType = "None" proxyCredentialType="None"/> 
     </security> 

</binding> 
    </webHttpBinding> 
+0

यह कहां जाता है? क्या आप web.config से पूर्ण स्निपेट पोस्ट कर सकते हैं? –

+0

बहुत बहुत धन्यवाद - आपने दिन बचाया! –

+0

धन्यवाद तुम मुझे कई घंटे बचाया – coderman

0

"कोई चैनल सक्रिय रूप से सुन रहा है" जैसा लगता है जैसे लगता है। अनुरोध किए जाने पर बंदरगाह 17005 को कुछ भी नहीं सुन रहा था।

सुनिश्चित करें कि सही URL है बनाओ। सर्वर मशीन पर एक कमांड प्रॉम्प्ट विंडो से निम्न आदेश जारी करके यह टेस्ट:

telnet localhost 17005दर्ज
GET / दर्ज करें; नोट: इस गूंज नहीं होगा
दर्ज

इस हैं काम करता है (जोड़ता है और वापस आईआईएस से कुछ लाता है), तो लोड संतुलन से थोड़ी दूर पर एक ग्राहक मशीन से ही परीक्षण चलाते हैं। बेशक, उस स्थिति में, localhost के बजाय पूर्ण होस्ट नाम का उपयोग करें।

0
<system.serviceModel> 
    <bindings> 
     <webHttpBinding> 
     <binding name="TransportSecurity"> 
      <security mode="Transport"> 
      <transport clientCredentialType="None"/> 
      </security> 
     </binding> 
     </webHttpBinding> 
    </bindings> 
    <services> 
     <service name="Service" behaviorConfiguration="ServiceBehaviour"> 
     <endpoint address="" binding="webHttpBinding" behaviorConfiguration="webMyAcc" bindingConfiguration="TransportSecurity" contract="IService"/> 
     <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="ServiceBehaviour"> 
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="webMyAcc"> 
      <webHttp /> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    <client />`enter code here` 
    </system.serviceModel> 
संबंधित मुद्दे