Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
WSDL - SOAP classes must derive from TRemotable hatası
#1
Merhaba,

Bir web servisten bilgi almaya çalışıyorum parametreleri gönderirken aşağıdaki hatayı alıyorum nedeni ne olabilir acaba. 
Alıntı:ESOAPDomConvertError Conversion from class TForm1 to SOAP is not supported - SOAP classes must derive from TRemotable


Ayarlar
HTTPRIO1=>WSDLLocation ilgili WDSL uzantısını yazdım.
HTTPRIO1 Pasword ve Username bilgileri girdim.


Kod
var
 Xml: tstringlist;
 Istek: binding.ZABCSGetLabelRequest;
 Sonuc: binding.ZABCSGetLabelResponse;
begin
 Istek.EbelgeA := '1';
 Istek.EbelgeB := '1';
 try
   Sonuc := binding.GetZABC_AB_LABEL(False, '', HTTPRIO1).ZwmGetLabel(Istek);
 except
   on E: Exception do
     ShowMessage(E.ClassName + ' Hata : ' +
       E.Message);
 end;

*Aynı WSDL'i Crome tarayıcıdan Browse WSDL eklentisi ile yukarıdaki parametrelerle test ettiğimde karşı taraftan gelen mesajları görebiliyorum.

Yardımlarınızı rica ederim.
Cevapla
#2
@pro_imaj SoapUI ile denediğinde aynı hatayı alıyormusun

Tam emin olmamakla birlikte bu hatayı alabileceğiniz yer gelen data yapısı ile sizdeki wsdl yapısı uyuşmuyor sanırım özellikle array dönen yapılarda yeni importlar sorun çıkarıyor önerim aynı importu imkan dahilindeyse 2007 ile oluşturmanızdır
Yada sakıncası yok ise wsdl linkini gönderin bendeki 2007 ile oluşturup size göndereyim
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
Fiddler tarzı bir program ile Browse WSDL ile delphiden giden xml 'i yakalayıp bi karşılaştırın. Sorunu tespit ettikten sonra gönderilen xml ile ilgili bir sorunsa xml'e müdahale etme şansınız mevcut.
WWW
Cevapla
#4
(08-11-2019, Saat: 15:31)adelphiforumz Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.@pro_imaj  SoapUI ile denediğinde aynı hatayı alıyormusun

Tam emin olmamakla birlikte bu hatayı alabileceğiniz yer gelen data yapısı ile sizdeki wsdl yapısı uyuşmuyor sanırım özellikle array dönen yapılarda yeni importlar sorun çıkarıyor önerim aynı importu imkan dahilindeyse 2007 ile oluşturmanızdır
Yada sakıncası yok ise wsdl linkini gönderin bendeki 2007 ile oluşturup size göndereyim

SoapUI ile sorunsuz çalışıyor.
Wsdl linkini vpn aracılığıyla açtırıyorlar bundan dolayı sizde çalışmayacaktır.

(08-11-2019, Saat: 16:14)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Fiddler tarzı bir program ile Browse WSDL ile delphiden giden xml 'i yakalayıp bi karşılaştırın.  Sorunu tespit ettikten sonra gönderilen xml ile ilgili bir sorunsa xml'e müdahale etme şansınız mevcut.

Konuya tam hakim değilim araştırayım dediğinizi.
Cevapla
#5
Fiddler yoksa bile soapui de zaten giden xmli görebiliyorsunuz , delphide ise httprio bileşeninin BeforeExecute metodunda gönderilen xml'e ulaşabiliyorsunuz. Buralardan giden gelen xml i karşılıklı kontrol ederek sorunu tespit edebilirsiniz.
WWW
Cevapla
#6
(08-11-2019, Saat: 16:44)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Fiddler yoksa bile soapui de zaten giden xmli görebiliyorsunuz , delphide ise httprio bileşeninin BeforeExecute metodunda gönderilen xml'e ulaşabiliyorsunuz. Buralardan giden gelen xml i karşılıklı kontrol ederek sorunu tespit edebilirsiniz.

BeforeExcute olayına girmeden bu hataya düşüyor, parametre gönderirken yanlışlık yapıyor olabilirim ama orada da bir şey bulamıyorum. Huh
Cevapla
#7
(08-11-2019, Saat: 17:05)pro_imaj Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(08-11-2019, Saat: 16:44)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Fiddler yoksa bile soapui de zaten giden xmli görebiliyorsunuz , delphide ise httprio bileşeninin BeforeExecute metodunda gönderilen xml'e ulaşabiliyorsunuz. Buralardan giden gelen xml i karşılıklı kontrol ederek sorunu tespit edebilirsiniz.

BeforeExcute olayına girmeden bu hataya düşüyor, parametre gönderirken yanlışlık yapıyor olabilirim ama orada da bir şey bulamıyorum. Huh

o zaman delphi doğru import edemiyordur servisi. biraz daha güncel bir versiyon ile denemek ya da import ederken bazı parametreler ile oynamak gerekebilir.
WWW
Cevapla
#8
WSDL tarafında LabelCount'un tipi delphi tarafındaki karşılığı string yani aşağıdaki gibi.
numeric4  =  type string; 

Aynı tipte Count isminde bir değişken tanımlıyorum ve tipinide numeric4 olarak tanımlayıp 2 değeri veriyorum, sorun olmuyor fakat aşağıdaki gibi Istek.LabelCount := Count; dediğimde aşağıdaki hata oluşuyor. Sanırım veri tipleriyle ilgili sorun yaşanıyor.
qYIWBj.png

procedure TForm1.Button1Click(Sender: TObject);
var
Count : numeric4;
begin
Count  := '2';
Istek.LabelCount := Count;
Cevapla
#9
istek adlı nesne create edilmemiş sanki.
WWW
Cevapla
#10
(10-11-2019, Saat: 23:40)sadettinpolat Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.istek adlı nesne create edilmemiş sanki.

Create edilmiş durumda hocam, ilk soruda yazmıştım tekrar yazmadım sadece.

Debug modda baktığımda "Inaccessible value" erişilemez değer yazdığından olabilir belkide, fakat ilgili firmanın dokümanda; Çıktı sayısını almak için bu alana değer gönderin yazıyor.

Birde sizin yazdığınız önceki cevapta WSDL import ederken farklı ayarları deneyin yazmıştınız. Birkaç deneme yaptım fakat o kadar çok ayar var ki bir türlü sonuca ulaşamadım.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  HTTP/1.0 302 moved temporarily. hatası erdogan 5 152 07-11-2019, Saat: 17:24
Son Yorum: uparlayan
Photo Stringlist Hatası bkantur 2 91 04-11-2019, Saat: 16:20
Son Yorum: bkantur
  SOAP WSDL | Tarihi sorunu ve C# import sorunu hk. pro_imaj 2 178 24-10-2019, Saat: 08:51
Son Yorum: sabanakman
  IDE kapanma hatası serdar 8 261 13-10-2019, Saat: 19:19
Son Yorum: serdar
  Media Player Hatası ikurt07 0 81 09-10-2019, Saat: 11:36
Son Yorum: ikurt07



Konuyu Okuyanlar: 1 Ziyaretçi