Soap verileri ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Soap verileri ?

Mesaj gönderen deltas »

@habilkader hocam servislerin adresleri var mı? denemeden cevap veremem. delphi 7 'de web servisleri çok sıkıntılı bir durum. delphi 2007 ve üstü verisyon kullanmanızı tavsiye ederim. ayrıca giden gelen xml mesajlarını incelerseniz hatanın kaynağına daha rahat ulaşırsınız.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
habilkader
Üye
Mesajlar: 61
Kayıt: 14 Eki 2006 11:11

Re: Soap verileri ?

Mesaj gönderen habilkader »

sayın deltas ilginiz için tşk ler

web servis adresleri

Kod: Tümünü seç

http://smsuser.smsvadisi.net/SMS.asmx?WSDL
http://smsuser.smsvadisi.net/SMS.asmx
ayrıca projemi 2007 'e ve üst versiyona taşımak benim için çok sıkıntılı olacağı için son çare olarak onu düşünmekteyim.
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Soap verileri ?

Mesaj gönderen deltas »

ceposta için import ettiğiniz sms.pas adlı dosyada aşşağıdaki kodların olup olmadığına bakın. varsa bile form.creat olayına aşağıdaki kodları ekleyin.

Kod: Tümünü seç

InvRegistry.RegisterInterface(TypeInfo(SMSSoap), 'http://tempuri.org/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SMSSoap), 'http://tempuri.org/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(SMSSoap), ioDocument);
ceposta için aşşağıdaki örnek kodlamayı yaptım. bir sorun çıkmadı

Kod: Tümünü seç

procedure TForm2.Button1Click(Sender: TObject);
var
servis  : smssoap;
sonuc   : KullaniciBilgisi;

begin
    try
servis:=GetSMSSoap(False,'',HTTPRIO1);
sonuc:=servis.KullaniciKontrolEt('kullanıcı','şifre');
memo1.Lines.Add(inttostr(sonuc.AktifKontorAdet));

      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle işlem yapılamıyor...');
      end;

       end;
       sonuc.Free;

       end;
VDFCreditInquiry fonksiyonu sürekli nil değer döndürüyor.
bu fonksiyonu kullanan web servis adresinişde verirseniz ona bi bakayım.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
habilkader
Üye
Mesajlar: 61
Kayıt: 14 Eki 2006 11:11

Re: Soap verileri ?

Mesaj gönderen habilkader »

Sevgili Deltas arkadaşım;

Kod: Tümünü seç

InvRegistry.RegisterInterface(TypeInfo(SMSSoap), 'http://tempuri.org/', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SMSSoap), 'http://tempuri.org/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(SMSSoap), ioDocument);
kodları oncreate olayına yazınca çalıştı. 1 haftadır bu konuda debelenip duruyordum. Çok tşk ederim.

Ancak Vodofone WSDL deki

Kod: Tümünü seç

VDFCreditInquiry 
fonksiyonunda nil sonuc değeri dönmeye devam ediyor.
Diğer fonksiyonlarda herhangibir sorun yok.
Web servis yetkilileri ile görüştüğümde bizim gönderdiğimiz isteğin karşıya ulaştığı ve karşıdanda bize değer gönderildiği söyleniyor ama dönen değer nil oluyor.

Kod: Tümünü seç

 http://212.65.146.34:7001/CWS/LoadVodafone?wsdl
  http://212.65.146.34:7001/CWS/LoadVodafone

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); // Kontor yükle
var
Service:LoadVodafone;
sonuc:Vdf_CreditInquiryResponse;
begin
Service:=GetLoadVodafone;
sonuc:=Vdf_CreditInquiryResponse.Create;
sonuc:=service.VDFCreditInquiry(1234,'password','istekno12456','TelNo',20,True,'1234');

memo1.Lines.add(sonuc.RequestId);
memo1.Lines.add(intToStr(sonuc.ResponseCode));
end;
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Soap verileri ?

Mesaj gönderen deltas »

aşşağıdaki kodda response değeri olarak 214 kodu dönüyor.

Kod: Tümünü seç

procedure TForm2.Button1Click(Sender: TObject);
var
servis  : LoadVodafone;
sonuc   : Vdf_CreditInquiryResponse;
begin
    try
servis:=GetLoadVodafone(False,'',HTTPRIO1);
sonuc:=servis.VDFCreditInquiry(1234,'password','istekno12456','TelNo',20,True,'1234');
memo1.Lines.Add(inttostr(sonuc.ResponseCode));
      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle işlem yapılamıyor...');
      end;
       end;
       sonuc.Free;
       end;
ama diğer mesajımda belirttiğim gibi form oncreat olayına aşşağıdakini eklemeyide deneyebilirisiniz.

Kod: Tümünü seç

InvRegistry.RegisterInterface(TypeInfo(LoadVodafone), 'http://com/vodafone', 'UTF-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(LoadVodafone), '');
  InvRegistry.RegisterInvokeOptions(TypeInfo(LoadVodafone), ioDocument);
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
habilkader
Üye
Mesajlar: 61
Kayıt: 14 Eki 2006 11:11

Re: Soap verileri ?

Mesaj gönderen habilkader »

gönderdiğiniz kodları denedim aynı hata devam ediyor

dönen hata: '

Kod: Tümünü seç

' is not  a valid floating point value
Real tipinde bir değer beklerken biz sanki parametre olarak boş bir string gönderiyormuşuz gibi davranıyor.
Halbuki parametreler doğru.
Ve karşı taraf istediğin iletildiğini ve cevap gönderildiğini söylüyor ki zaten sizede hata kodu dönmüş bana hata dönen bişey yok :(
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Soap verileri ?

Mesaj gönderen deltas »

hocam dönen xml mesajını yazarsanız. onu bi inceleyelim. belki sorun oradadır. msn adresim özelinizde
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Cevapla