Jeg har lige haft en noget spidsfindig fejl i min kodning. Jeg har en Visual Studio solution, hvor jeg har et servicelag-projekt med mine services og modeller, og så har jeg et ASP.NET MVC-projekt, hvor mit website ligger i. Jeg skal så kalde en webservice ude på internettet, med kode der ligger som en service i mit servicelag-projekt. Jeg kalder servicen fra mit website.
Så snart min service-funktion kører ServiceSoapClient, får jeg en InvalidOperationException
var webService = new ServiceReference1.ServiceSoapClient();
Fejlen jeg får ser sådan her ud:
Could not find default endpoint element that references contract ‘ServiceReference1.ServiceSoap”‘ in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this contract could be found in the client element.
Det lader til, at når man har en multiprojekt-solution, bliver configgen kun læst fra StartUp projektet – og servicereferencen skal selvfølgelig ligge i servicelaget sammen med det kode, der skal bruge den, og altså ikke nede ved MVC-projektet. Løsningen var så, at jeg skulle flytte Servicemodel.Bindings og Client fra System.ServiceModel over i min Web.config i MVC-projektet, og så virkede det!
Se mere her – bemærk kommentarerne i det første svar – der er folk der har haft fejlen, søgt på nettet, fundet svaret der, og så senere i et nyt projekt fået samme fejl, og igen ledt efter svaret, og er landet samme sted, og altså fundet løsningen der.
http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element
Skriv hvis du også har haft samme fejl :-)