İlginizi Çekebilir
C# XML Veri Ekleme
  1. Ana Sayfa
  2. C Sharp

Web Service – Endpoint Hatası ve Çözümü

Web Service – Endpoint Hatası ve Çözümü
+ - 0

Web Service – Endpoint Hatası ve Çözümü, dersim ile C# eğitim setime devam ediyorum. Bu dersimizde C# Web servis ile ilgili çalışmalarımda karşılaştığım bir hata olan Endpoint hatasının çözümünü içerir.

Web Service – Endpoint Hatası

Bir web service ile çalışmaya başladığnızda bu hatayı alma olasılığınız çok yüksektir. Bu sebeple bu hatanın çözümünü paylaşmak istedim. Bu hatanın tam şekli şöyledir.

“An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.ServiceModel.dll

Additional information: İlgili sözleşme için birden fazla bitiş noktası yapılandırması bulunduğundan ‘…’ sözleşmesi bitiş noktası yapılandırma bölümü yüklenemedi. Tercih edilen bitiş noktası yapılandırması bölümünü adıyla belirtin.”

 

Hatanın görseli de aşağıdaki gibidir.

Web-Service-Endpoint-Hatası-ve-Çözümü

 

Web Service – Endpoint Hatası Çözümü

Hatanın kaynağı App.Config dosyası ile ilgilidir. App.Config dosyasını açtığınızda aşağıdaki gibi görünecektir.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="GlobalWeatherSoap" />
            </basicHttpBinding>
            <customBinding>
                <binding name="GlobalWeatherSoap12">
                    <textMessageEncoding messageVersion="Soap12" />
                    <httpTransport />
                </binding>
            </customBinding>
        </bindings>
        <client>
            <endpoint address="http://www.webservicex.net/globalweather.asmx" binding="basicHttpBinding" bindingConfiguration="GlobalWeatherSoap" contract="ServiceReference1.GlobalWeatherSoap" name="GlobalWeatherSoap" />
            <endpoint address="http://www.webservicex.net/globalweather.asmx" binding="customBinding" bindingConfiguration="GlobalWeatherSoap12" contract="ServiceReference1.GlobalWeatherSoap" name="GlobalWeatherSoap12" />
        </client>
    </system.serviceModel>
</configuration>

Projenize göre bu App.Config dosyasının içi dolacaktır. Yukarıda basit bir App.Config dosyası görüyorsunuz. Dersimize konu olan hatanın sebebi yukarıda gördüğünüz <client> </client> nodesi içinde yer alan <endpoint/> nodesi ile ilgilidir. Yukarıda gördüğünüz App.Config dosyasında endpoint nodesi aynı web servis için iki kere tanımlanmış. Bazen bu şekilde iki kere ekleniyor. Bazende bir tekrar tekrar ekliyoruz. Örneğin bende iki kere eklemeden dolayı çıkmıştı. Web Service’i varsayılan isim ile eklemiştim ama sonra değiştirmek istediğim ve terkar ekledim. Aynı web Service’e atıfta bulunan iki farklı endpoint nodesi olduğundan dolayı hangisi kullanacağını bilemiyor ve hatayı veriyor.

Bu satırlardan birisini sildiğinizde hata çözülmüş olacaktır.

...
...
...
        <client>
            <endpoint address="http://www.webservicex.net/globalweather.asmx" binding="basicHttpBinding" bindingConfiguration="GlobalWeatherSoap" contract="ServiceReference1.GlobalWeatherSoap" name="GlobalWeatherSoap" />
        </client>
...
...
...

Yukarıda gördüğünüz gibi aynı web service ‘e bağlı olan satırı siliyoruz. Projenizi derlediğinizde yukarıdaki hatayı vermediğini göreceksiniz.


Web Service – Endpoint Hatası ve Çözümü dersimiz de bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)