msHOWTO

10 Temmuz 2013 Çarşamba

web service parser error could not create type .net framework 4.0

Merhaba arkadaşlar ,

bugün web servisler ile ilgili yaşadığım sorunu ve çözümü sizlerle paylaşacağım . Öncelikle durum şudur ; E-Ticaret sisteminin içerisinde Web Service projesi oluşturdum. Gerekli kodları yazdım . Yayında olan E-Ticaret sisteminin ftp server ına servislerimi yukleyecektim. Web Servis projeme sağ tıklayıp Publish dedikten sonra oluşturduğu dosyaları ftp nin içerisine attım . Ftp nin içerisinde Web Projem de olduğu için bu projenin bin klasorü de mevcut idi. Daha sonra bir klasor altına Web Service projemin publish dosyalarını upload ettim. Ornegin : http://www.xxx.com/Servisler/servisadi.asmx olarak browser a girdiğimde karşıma ;

<%@ WebService Language="C#" CodeBehind="servisadi.asmx.cs" Class="BHI.Rats.servisadi" %>

şeklinde bir hata çıktı. Bu hatanın sebebi ise , ftp nin içerisinde Web Projemin oluşturduğu var olan bin klasörü ile Servisler klasörünün içinde bulunan bin klasörünün karışıklık oluşturmasıdır. Yani ben http://www.xxx.com/Servisler/servisadi.asmx olarak ilgili servisi çağırdığımda ilk olarak ana dizindeki bin klasörünün içerisinde servis projemin dll dosyasını arayıp bulamadı için bu şekilde bir hata meydana gelmektedir.

Çözüm ise çok basit . Ana dizindeki bin klasörüne web service projenizin .dll dosyasını atmanı ve çalıştırmanız yeterli olacaktır.Yani kısaca class property sinde yazdığınız classı bu bin klasöründe bulunan dll dosyasında aramasıdır.

12 yorum:

  1. Merhabalar,
    Tamda sorunuma yönelik bir metin yazmışsınız çok teşekkür ederim. Bin klasörü altında .dll dosyam bulunmasına rağmen hala Could not create type Parser Error alıyorum. aynı dizinde web servis ve bin klasörü bulunmasına ragmen aynı hatayı almaya devam ediyorum. Ne yapmam gerektiği ile bana yardımcı olursanız çok müteşekkir kalacağım.
    Teşekkürler.

    YanıtlaSil
  2. Merhabalar ,

    Sorunuzu yeni gördüm kusura bakmayın. Henüz maalesef cloud app geliştirme fırsatım olmadı henüz yoğunluktan dolayı :( aklıma gelen ilk yöntem bin klasorlerindeki .dll dosyalarını eşitlemek oluyor..

    YanıtlaSil
  3. teşekkür ederim

    YanıtlaSil
  4. Bu hatayı çözememiş arkadaşlar varsa projeyi asmx dosyanızı oluşturun . Sonra bi lokalde çalıştırın . Daha sonra sadece asmx dosyanızı publish ederseniz o zaman bin , obj dosyalarınızın içindeki dll dosyalarınızın güncel halini eklememiş olursunizki buda çalışmayı engelliyor . Bu yüzden eğer öyle birşey oluşturursanız hiç seçmeye bile gerek yok direk bin dosyanızı ve obj dosyanızı ve oluşturduğunuz asmx dosyalarıyla birlikte publish edin . Ben filezilla kullanıyorum . Bu yüzden direk bahsettiğim dosyalarla birlikte sürükle bırak yöntemiyle mutlu sona ulaştım :) İyi çalışmalar ...

    YanıtlaSil
  5. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  6. Merhaba arkadaşlar ben de bir tana proje geliştiriyorum ana dizinin altına bir tana daha dosya açıp projeyi oluşturduğum dosyaya atıyorum
    projeyi alt dizin olarak webten çağırıyorum açıyor ama web service yi çalıştırdığımda
    <%@ WebService Language="C#" CodeBehind="WebService2.asmx.cs" Class="ilhan/flex_mail_new.WebService2" %>
    bu hatayı alıyorum

    YanıtlaSil
  7. Merhabalar ,

    Web servis uygulamasinin kullandigi dll leri ana dizin altindaki bin folder i icine atip dener misiniz ?

    YanıtlaSil
  8. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  9. oradaki dll ile aynı isimde
    diğerinin ismini değiştirince hata veriyor

    YanıtlaSil
  10. <%@ WebService Language="C#" CodeBehind="/bulunduguDizin/WebService2.asmx.cs" Class="/bulunduguDizin/ilhan/flex_mail_new.WebService2" %>

    olarak duzenleyıp tekrar publish alıp dener mısın

    YanıtlaSil