2012-03-07 14 views
6

Tak więc od kilku dni uczę się o referencjach internetowych w ramach moich projektów. Natrafiłem na dziwny problem.za pomocą odnośników internetowych

Stosując prostą aplikację konsoli Zrobiłem to:

namespace Webservices09004961 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      { 
       Convert.ConvertTemperatureSoapClient client = 
       new Convert.ConvertTemperatureSoapClient(); 
       while (true) 
       { 
        Console.Write("Enter temperature in Celsius: "); 
        double tempC = double.Parse(Console.ReadLine()); 
        double tempF = client.ConvertTemp(tempC, Convert.TemperatureUnit.degreeCelsius, Convert.TemperatureUnit.degreeFahrenheit); 
        Console.WriteLine("That is " + tempF + " degrees Farenheit"); 
       } 
      } 
     } 
    } 
} 

Dodałem w odniesieniu usług "Convert" związanej z tym linkiem: http://www.webservicex.net/ConvertTemperature.asmx?WSDL

jednak otrzymuję ten błąd:

An endpoint configuration section for contract 'Convert.ConvertTemperatureSoap' could not be loaded because more than one endpoint configuration for that contract was found. Please indicate the preferred endpoint configuration section by name.

Czy to dlatego, że w jednym miejscu można wyznaczyć tylko jedną referencję usługi? czas? Powodem, dla którego pytam, jest to, że moje lokalne odwołanie do usługi w ramach tego samego projektu nadal działa dobrze? Ale ten nie robi? (Stało się tak, kiedy po raz pierwszy go stworzyłem)

A może jest to oddzielny problem?

Jakie są ograniczenia SOAP?

+2

Odpowiedź będzie znajdować się w pliku .config. –

+0

Tak, znalazłem to. I tak dziękuję –

Odpowiedz

10

Te błędy występują często podczas próby usunięcia odniesienia svc i dodania go ponownie. Sprawdź plik app/web.config, powinieneś mieć zduplikowane wpisy dla Convert.ConvertTemperatureSoap. usuń jedną z nich i będzie działać poprawnie.

+1

Dzięki za komentarz Davita znalazłem :) –

+0

Serdecznie zapraszamy :) – Davita

+1

Lol Ta odpowiedź uratowała mnie dwa razy! – Pomster

0
 <endpoint address="http://www.webservicex.net/ConvertTemperature.asmx" 
      binding="basicHttpBinding" bindingConfiguration="ConvertTemperatureSoap" 
      contract="Convert.ConvertTemperatureSoap" name="ConvertTemperatureSoap" /> 
     <!--<endpoint address="http://www.webservicex.net/ConvertTemperature.asmx" 
      binding="customBinding" bindingConfiguration="ConvertTemperatureSoap12" 
      contract="Convert.ConvertTemperatureSoap" name="ConvertTemperatureSoap12" />--> 

W porządku Znalazłem błąd związany z podwójnym wpisem w moim pliku konfiguracyjnym. Dziwne, nie wiem, dlaczego tak się stało.

Działa teraz.

Powiązane problemy