UETDS wsdl'i ile ilgili çalışma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
UETDS wsdl'i ile ilgili çalışma
Merhaba,
Ulaştırma bakanlığı yeni bir sistem geliştirdi. UETDS olarak adlandırdı. Bunla ilgili bir wsdl yayımladı.
https://servis.turkiye.gov.tr/services/ ... arizi?wsdl
bu servis ile ilgili daha önce çalışan oldu mu?
Kullanımı nasıl?
Soap UI diye bir program üzerinden test edityorum, sıkıntı yok ancak delphi üzerinden nasıl bağlantı sağlayabilirim?
Sistemin çalışması için ip adresinizin sisteme tanıtılı olması gerekiyor, değilse yeki hatası alıyorsunuz.
Ulaştırma bakanlığı yeni bir sistem geliştirdi. UETDS olarak adlandırdı. Bunla ilgili bir wsdl yayımladı.
https://servis.turkiye.gov.tr/services/ ... arizi?wsdl
bu servis ile ilgili daha önce çalışan oldu mu?
Kullanımı nasıl?
Soap UI diye bir program üzerinden test edityorum, sıkıntı yok ancak delphi üzerinden nasıl bağlantı sağlayabilirim?
Sistemin çalışması için ip adresinizin sisteme tanıtılı olması gerekiyor, değilse yeki hatası alıyorsunuz.
Bildiğim tek şey, hiç bir şey bilmediğim.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: UETDS wsdl'i ile ilgili çalışma
Hangi delphi sürümünüz var bilmiyorum ama yeni nesil sürümleri kullanmanızı öneririm. Projeniz delphide açıkken, File -> New -> WebServices altından WSDL Importer (ya da Component - Import WSDL) seçeneği ile gelen pencereden wsdl servis adresini girip ileri ileri diyerek işlemlerinizi tamamlayın. Bununla otomatik olarak bu servisi kullanan arayüzler (interface) oluşacaktır. Bunları kullanmak da sınıfları kullanmak gibidir ama create ve destroy işlemlerini siz yapmazsınız. WSDL importuyla oluşan arayüzde ilgili serviste tanımlı metotları barındırır ve bunları kullanarak ilgili servisi çalıştırırsınız. Tek yapmanız gereken Get...Service isminde oluşan fonksiyonu kullanmaktır. Mesela verdiğiniz bağlantıdan UdhbUetdsAriziService = interface arayüzü ve GetUdhbUetdsAriziService fonksiyonları oluşturuldu. Bunu şeklinde kullanabilirsiniz. Tabi diğer tüm metotlar ve parametreleri organize kısmı sizde, şimdiden kolay gelsin.
Kod: Tümünü seç
var wsUETDS:UdhbUetdsAriziService; sSonuc:String;
begin
wsUETDS:=GetUdhbUetdsAriziService;
sSonuc:=wsUETDS.servisTest('Servis çalışıyor mu?');
ShowMessage(sSonuc);
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: UETDS wsdl'i ile ilgili çalışma
Merhaba,
Bu şekilde bağlantıyı test ettim, çalışıyor.
Bağlanırken kendi kullanıcıkontrol2 clası olmasına rağmen oradan bilgi girişi yapamadım. httprio nesnesinden sağladım bilgileri.
birde seferekle metoduna bilgileri girdim ancak bir türlü gönderemedim, buna yardımcı olabilir misiniz?
Kod: Tümünü seç
var
Port : UdhbUetdsAriziService;
begin
HTTPRIO1.HTTPWebNode.UserName:='999999';
HTTPRIO1.HTTPWebNode.Password:='999999testtest';
Port := Uetdsarizi.GetUdhbUetdsAriziService(True,'',HTTPRIO1);
if Port.servisTest('Servis var mı?')='Servis var mı? OK' then
ShowMessage('Servis var')
else begin
ShowMessage('Servis yok, tekrar deneyin');
end;
Bağlanırken kendi kullanıcıkontrol2 clası olmasına rağmen oradan bilgi girişi yapamadım. httprio nesnesinden sağladım bilgileri.
birde seferekle metoduna bilgileri girdim ancak bir türlü gönderemedim, buna yardımcı olabilir misiniz?
Kod: Tümünü seç
DSeferEkle :=SeferEkle.Create;
FormatSettings.LongDateFormat:='yyyy-mm-dd';
FormatSettings.ShortDateFormat:='yyyy-mm-dd';
DSeferEkle:=SeferEkle.Create;
DSeferEkle.wsuser.kullaniciAdi:=UETDSAdi;
DSeferEkle.wsuser.sifre:=UETDSSifre;
DSeferEkle.ariziSeferBilgileriInput.aracPlaka:=SQLOperasyonARAC_PLAKA.AsString;
DSeferEkle.ariziSeferBilgileriInput.hareketTarihi:=DateToStr(SQLOperasyonTARIH.Date);
DSeferEkle.ariziSeferBilgileriInput.hareketSaati:=SQLOperasyonSAAT.Value;
DSeferEkle.ariziSeferBilgileriInput.aracTelefonu:='';
DSeferEkle.ariziSeferBilgileriInput.firmaSeferNo:=SQLOperasyonYILAYSIRA.Value;
DSeferEkle.ariziSeferBilgileriInput.seferBitisTarihi:=DateToStr(SQLOperasyonBITIS_TARIHI.Value);
DSeferEkle.ariziSeferBilgileriInput.seferBitisSaati:=SQLOperasyonBITISSAATI.AsString;
Bildiğim tek şey, hiç bir şey bilmediğim.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: UETDS wsdl'i ile ilgili çalışma
Bir hata mesajı geliyor mu? Çalışmıyor denilen mesele duruma göre değişir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: UETDS wsdl'i ile ilgili çalışma
oluşturduğum verileri gönderemedim ki hata mesajı alabileyimsabanakman yazdı: ↑14 Oca 2019 02:58 Bir hata mesajı geliyor mu? Çalışmıyor denilen mesele duruma göre değişir.
Kod: Tümünü seç
Port:=UETDSArizi.GetUdhbUetdsAriziService.seferEkle(DSeferEkle.ariziSeferBilgileriInput);
ShowMessage(Port.seferEkle.return.sonucMesaji);
Bildiğim tek şey, hiç bir şey bilmediğim.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: UETDS wsdl'i ile ilgili çalışma
Doğru gibi ama get..service fonksiyonunu sürekli çalıştırmak yerine program bir kere arayüzü çeksin onu kullansın mantığıyla devam etmekte fayda var. Bir de parametre ve sonuç tiplerine dikkat etmek gerekebilir.
Kod: Tümünü seç
var wsUETDS:UdhbUetdsAriziService; seferEkleParam:seferEkle; seferEklemeSonucu:seferEkleResponse;
begin
wsUETDS:=GetUdhbUetdsAriziService;
seferEklemeSonucu:=seferEkle(seferEkleParam);
ShowMessage(seferEklemeSonucu.return.sonucMesaji);
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: UETDS wsdl'i ile ilgili çalışma
Kod: Tümünü seç
seferEklemeSonucu:=seferEkle(seferEkleParam);
[dcc32 Error] Unit1.pas(40): E2010 Incompatible types: 'seferEkleResponse' and 'seferEkle'
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: UETDS wsdl'i ile ilgili çalışma
Sorunu çözdüm,
@sabanakman çok teşekkür ederim.
kodu da buraya bırakayım ilerde lazım olur;
@sabanakman çok teşekkür ederim.
kodu da buraya bırakayım ilerde lazım olur;
Kod: Tümünü seç
var
Port : UdhbUetdsAriziService;
Mesaj : String;
SEkle : seferEkle;
SEkleSonuc : seferEkleResponse;
SKullanici : uetdsYtsUser;
SBilgiler : uetdsAriziSeferBilgileriInput;
Kod: Tümünü seç
KA:='999999';
Sifre:='999999testtest';
HTTPrio.HTTPWebNode.UserName:=KA;
HTTPrio.HTTPWebNode.Password:=Sifre;
try
Port:=UETDSArizi.GetUdhbUetdsAriziService;
if Port.servisTest('Durum')<>'Durum OK' then begin
ShowMessage('Servis çalışmıyor');
Exit;
end;
except
ShowMessage('Kullanıcı bilgileri hatalı');
Exit;
end;
SKullanici:=uetdsYtsUser.Create;
SKullanici.kullaniciAdi:=ka;
SKullanici.sifre:=Sifre;
SBilgiler:=uetdsAriziSeferBilgileriInput.Create;
SBilgiler.aracPlaka:='35ABC123';
SBilgiler.seferAciklama:='Sefer Açıklama';
// SBilgiler.hareketTarihi.AsDateTime:=Date;
SBilgiler.hareketSaati:='12:00';
SBilgiler.aracTelefonu:='02324265';
SBilgiler.firmaSeferNo:='12';
// SBilgiler.seferBitisTarihi.AsDateTime:=Date;
SBilgiler.seferBitisSaati:='17:00';
SEkle:=seferEkle.Create;
SEkle.wsuser:=SKullanici;
SEkle.ariziSeferBilgileriInput:=SBilgiler;
SEkleSonuc:=seferEkleResponse.Create;
try
SEkleSonuc:=Port.seferEkle(SEkle);
ShowMessage(SEkleSonuc.return.sonucMesaji);
finally
end;
Bildiğim tek şey, hiç bir şey bilmediğim.
Re: UETDS wsdl'i ile ilgili çalışma
Merhaba
Php üzerinde bir çalışma yapıyorum.fakat denemelerim de sürekli olarak aşağıda ki hatayı alıyorum
"500 Yetki Hatası http://gw.esb.turkiye.gov.tr Servis kullanımı yetkisi için servis sağlayıcısı kurum ile görüşünüz"
SoapUI üzerinden de test ettim yine aynı hatayı veriyor.
https://servis.turkiye.gov.tr/services/ ... arizi?wsdl
999999 - 999999testtest
Test işlemini sunucuda yapıyorum
Sorun ne olabilir acaba bilginiz varsa yardımcı olabilirmisiniz.
Php üzerinde bir çalışma yapıyorum.fakat denemelerim de sürekli olarak aşağıda ki hatayı alıyorum
"500 Yetki Hatası http://gw.esb.turkiye.gov.tr Servis kullanımı yetkisi için servis sağlayıcısı kurum ile görüşünüz"
SoapUI üzerinden de test ettim yine aynı hatayı veriyor.
https://servis.turkiye.gov.tr/services/ ... arizi?wsdl
999999 - 999999testtest
Test işlemini sunucuda yapıyorum
Sorun ne olabilir acaba bilginiz varsa yardımcı olabilirmisiniz.
-
- Üye
- Mesajlar: 1
- Kayıt: 30 Mar 2019 08:52
Re: UETDS wsdl'i ile ilgili çalışma
Delphi Soap ile basic auth işlemi yapacaksınız login ve password parametrelerine ayrıca nonwsdl modunda kullanılacak.
Delphide bütün sınıflar create edilmeden değişken ve sonuçlarda access violent hatası alırsınız
Delphide bütün sınıflar create edilmeden değişken ve sonuçlarda access violent hatası alırsınız
Re: UETDS wsdl'i ile ilgili çalışma
WSDL'i test edebilmek için bakanlığa IP adresinizi kaydettirmeniz gerekli.
Bildiğim tek şey, hiç bir şey bilmediğim.