Konuyu Oyla:
  • Derecelendirme: 2/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Hal Kayıt Sistemi Web Servis
#31
DelphiCan aracılığı ile yardımcı olabildiysek ne mutlu bize.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#32
(06-12-2017, Saat: 00:16)barutali Adlı Kullanıcıdan Alıntı: DelphiCan aracılığı ile yardımcı olabildiysek ne mutlu bize.

Merhaba,
Hocam paylaşımınız ve detaylı olarak anlatımınız için teşekkürler, ALLAH razı olsun. Hal kayıt sistemi geliştirme/çalışma ortamımdan uzak fakat, WebServis öyle yada böyle işimizin bir parçası. Burada dikkat etmemiz gereken noktalara dikkat çektiğiniz ve Delphinin yetersiz yada eksik kalmadığını, sadece ezbere kullanıldığını net bir şekilde gösterdiniz.
Cevapla
#33
(06-12-2017, Saat: 09:38)Cyber Adlı Kullanıcıdan Alıntı:
(06-12-2017, Saat: 00:16)barutali Adlı Kullanıcıdan Alıntı: DelphiCan aracılığı ile yardımcı olabildiysek ne mutlu bize.

Merhaba,
Hocam paylaşımınız ve detaylı olarak anlatımınız için teşekkürler, ALLAH razı olsun. Hal kayıt sistemi geliştirme/çalışma ortamımdan uzak fakat, WebServis öyle yada böyle işimizin bir parçası. Burada dikkat etmemiz gereken noktalara dikkat çektiğiniz ve Delphinin yetersiz yada eksik kalmadığını, sadece ezbere kullanıldığını net bir şekilde gösterdiniz.

Dotnet ile geliştirilen SOAP Uygulamalarının bazılarında aynı problem var. Sebebi tam olarak nedir bende bilmiyorum. Tahminim dotnet sürümü ile alakalı olabileceği..
Teşekkürler.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#34
(08-12-2017, Saat: 06:03)barutali Adlı Kullanıcıdan Alıntı:
(06-12-2017, Saat: 09:38)Cyber Adlı Kullanıcıdan Alıntı: Merhaba,
Hocam paylaşımınız ve detaylı olarak anlatımınız için teşekkürler, ALLAH razı olsun. Hal kayıt sistemi geliştirme/çalışma ortamımdan uzak fakat, WebServis öyle yada böyle işimizin bir parçası. Burada dikkat etmemiz gereken noktalara dikkat çektiğiniz ve Delphinin yetersiz yada eksik kalmadığını, sadece ezbere kullanıldığını net bir şekilde gösterdiniz.

Dotnet ile geliştirilen SOAP Uygulamalarının bazılarında aynı problem var. Sebebi tam olarak nedir bende bilmiyorum. Tahminim dotnet sürümü ile alakalı olabileceği..
Teşekkürler.


Android tarafından dotnet soap projesine bağlantı kurarken de bu parametreyi geçmek gerekiyor. yoksa bağlanamıyor. Bu dotnet hep sıkıntı Big Grin

 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;// önemli


   
public void writeBody(XmlSerializer writer) throws IOException {
        if(this.bodyOut != null) {
           this.multiRef = new Vector();
           this.multiRef.addElement(this.bodyOut);
           Object[] qName = this.getInfo((Object)null, this.bodyOut);
           writer.startTag(this.dotNet?""SadString)qName[0], (String)qName[1]);
           if(this.dotNet) {
               writer.attribute((String)null, "xmlns", (String)qName[0]);
           }

           if(this.addAdornments) {
               writer.attribute((String)null, "id", qName[2] == null?"o0"SadString)qName[2]);
               writer.attribute(this.enc, "root", "1");
           }

           this.writeElement(writer, this.bodyOut, (PropertyInfo)null, qName[3]);
           writer.endTag(this.dotNet?""SadString)qName[0], (String)qName[1]);
       }

   }
WWW
Cevapla
#35
(08-12-2017, Saat: 08:39)yhackup Adlı Kullanıcıdan Alıntı:
(08-12-2017, Saat: 06:03)barutali Adlı Kullanıcıdan Alıntı: Dotnet ile geliştirilen SOAP Uygulamalarının bazılarında aynı problem var. Sebebi tam olarak nedir bende bilmiyorum. Tahminim dotnet sürümü ile alakalı olabileceği..
Teşekkürler.


Android tarafından dotnet soap projesine bağlantı kurarken de bu parametreyi geçmek gerekiyor. yoksa bağlanamıyor. Bu dotnet hep sıkıntı Big Grin

 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;// önemli


   
public void writeBody(XmlSerializer writer) throws IOException {
        if(this.bodyOut != null) {
           this.multiRef = new Vector();
           this.multiRef.addElement(this.bodyOut);
           Object[] qName = this.getInfo((Object)null, this.bodyOut);
           writer.startTag(this.dotNet?""SadString)qName[0], (String)qName[1]);
           if(this.dotNet) {
               writer.attribute((String)null, "xmlns", (String)qName[0]);
           }

           if(this.addAdornments) {
               writer.attribute((String)null, "id", qName[2] == null?"o0"SadString)qName[2]);
               writer.attribute(this.enc, "root", "1");
           }

           this.writeElement(writer, this.bodyOut, (PropertyInfo)null, qName[3]);
           writer.endTag(this.dotNet?""SadString)qName[0], (String)qName[1]);
       }

   }

Tüm projelerimiz .NET soap servislerini kullanıyor. Nasıl bir sorun yaşıyorsunuz? Zarf nesnesinin serialize edilmesi ile ilgili daha önce bir problemle karşılaşmadım.
Cevapla
#36
Arkadaşlar yine bu konuyla ilgili bir sorunum var.Kod aşağıdaki gibi.
var
  servis :IBildirimService;  
  kisi :BaseRequestMessageOf_KayitliKisiSorguIstek;
  kisicevap :BaseResponseMessageOf_KayitliKisiSorguCevap ;
  I: Integer;
  istk :KayitliKisiSorguIstek2;
begin
  try
    memo1.Clear;
    servis:= GetIBildirimService;
    istk :=KayitliKisiSorguIstek.Create;

    kisi:= BaseRequestMessageOf_KayitliKisiSorguIstek.Create;
    kisi.UserName:=_username;
    kisi.Password:=_pass;
    kisi.ServicePassword:=_webpass;

    kisi.Istek:=KayitliKisiSorguIstek2.Create;

    kisi.Istek.TcKimlikVergiNolar :=ArrayOfstring2.Create;
    kisi.Istek.TcKimlikVergiNolar.SetstringArrayLength(1);
    kisi.Istek.TcKimlikVergiNolar.SetstringArray(0,'000000000000000');

    kisicevap:=servis.BildirimServisKayitliKisiSorgu(kisi);

    for I:= 0 to kisicevap.Sonuc.TcKimlikVergiNolar.Len-1 do
    begin
      memo1.Lines.Add(kisicevap.Sonuc.TcKimlikVergiNolar[i].TcKimlikVergiNo);
    end;
  finally
    kisi.Free;
  end;

Fiddler ile baktığımda TC kimlik boş gönderilmiş görünüyor.Nerede hata yapıyorum ?Teşekkürler.

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body><BaseRequestMessageOf_KayitliKisiSorguIstek xmlns="http://www.gtb.gov.tr//WebServices">
<Istek>
<TcKimlikVergiNolar xmlns="http://schemas.datacontract.org/2004/07/GTB.HKS.Bildirim.ServiceContract"/>
</Istek>
<Password>xxxxx</Password>
<ServicePassword>xxxx</ServicePassword>
<UserName>xxxxxx</UserName>
</BaseRequestMessageOf_KayitliKisiSorguIstek></SOAP-ENV:Body></SOAP-ENV:Envelope>
Cevapla
#37
WebService in pas dosyasında

6590. satırda ki procedure ün içeriğini aşağıda ki gibi değiştirmeniz lazım..


procedure ArrayOfstring2.SetstringArray(Index: Integer; const Item: string); // --> 6590. satır..
begin
  Fstring_[Index] := Item;
  Fstring__Specified := True; // Eklenen satır..
end;


const
_username = 'user';
_pass     = 'pas';
_webpass  = 'wpass';
var
Params : BaseRequestMessageOf_KayitliKisiSorguIstek;
KVN    : ArrayOfstring2;
Sonuc  : BaseResponseMessageOf_KayitliKisiSorguCevap;
AIstek : KayitliKisiSorguIstek2;
I      : Integer;
begin
Memo1.Clear;

Params := BaseRequestMessageOf_KayitliKisiSorguIstek.Create;
Params.UserName        := _username;
Params.Password        := _pass;
Params.ServicePassword := _webpass;

KVN := ArrayOfstring2.Create;
KVN.SetstringArrayLength(1);
KVN.SetstringArray(0, '00000000000');

AIstek := KayitliKisiSorguIstek2.Create;
AIstek.TcKimlikVergiNolar := KVN;

Params.Istek := AIstek;

Sonuc := BaseResponseMessageOf_KayitliKisiSorguCevap.Create;
Sonuc := GetIBildirimService().BildirimServisKayitliKisiSorgu(Params);

if Sonuc.HataKodlari = nil then
begin
  for I := 0 to Sonuc.Sonuc.TcKimlikVergiNolar.Len -1 do
  begin
   Memo1.Lines.Add( Sonuc.Sonuc.TcKimlikVergiNolar[I].TcKimlikVergiNo );
  end;
end
 else
 begin
   // hata oluştu..
 end;
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#38
Ali bey ,
Yine çok detay ve teknik bir bilgi .Yine harika bir çözüm.
Çok teşekkür ediyorum
Cevapla
#39
(01-12-2017, Saat: 09:22)ismailkocacan Adlı Kullanıcıdan Alıntı:
(01-12-2017, Saat: 09:20)eyln Adlı Kullanıcıdan Alıntı: Siz XML dosyasını hangi ortamda oluşturuyorsunuz acaba?

C#

İsmail bey, C# için HKS web servisinin kullanımıyla ilgili yardımcı olabilir misiniz? Örnek proje gönderebilir misiniz?
Cevapla
#40
(26-09-2018, Saat: 11:13)fatihkaba Adlı Kullanıcıdan Alıntı: ... C# için ... web servisinin kullanımıyla ...? Örnek ...?

Fatih Bey, size hızlı bir eğitim oluşturuyorum;

5 Adımda C# Web Servisi Oluşturma

  1. Visual Studio'yu açın. File > New > Project. (Web klasöründen .Net Framework'ü seçin.)
  2. Boş template olarak projeyi oluşturun.
  3. Solution Explorer üzerinden Project Folder'a sağ tuş yapın. Add > New Item'a tıklayın.
  4. Sol menüden Visual C#'ı seçin. Web Service (ASMX) dosyası oluşturun.
  5. Oluşturduğunuz dosyanın içinde [WebMethod] tag ile oluşturduğunuz metodların hepsi Web servisten erişilebilir olacaktır.
Not: Oluşturduğunuz projeyi F5 ile çalıştırın. Localhost'ta oluşan asmx uzantılı linkinizin sonuna ?WSDL ekleyin. (Delphi'de lazım olacak)

5 Adımda Delphi'de C# Web Servisi Ekleme

  1. Delphi'yi açın. File > New > Project. (FMX veya VCL, farketmez.)
  2. Üst menüden Component > Import WSDL'ye tıklayın.
  3. Location of WSDL File or URL kısmına yukarıdaki notta yazdığım haliyle linkinizi yapıştırın.
  4. Next > Next > Finish yapın.
  5. Oluşan Pas dosyası ile web servisinize erişebilirsiniz. 
5 Adımda Delphi'ye eklenen C# Web Servisi Kullanma

  1. Oluşan pas dosyasını projede kullanacağınız pas dosyanıza ekleyin. (ALT+F11 kombinasyonu ile USES menüsünden seçin.) (Interface'in uses'ına ekleyin.)
  2. WEBSERVISADINIZSoap tipinden bir nesne ekleyin. (var servisim: BENIMSERVISSoap;)
  3. function GetWEBSERVISADINIZSoap diye bir fonksiyon var. Onu bulun.
  4. Bir Event'ın içinde servisim := GetBENIMSERVISSoap(true,'',nil); // servisi initialize edin.
  5. Oluşturduğunuz WebMethod olan metodunuza servisim.MetodIsmi(); olarak erişin.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Modern Servis Uygulama İskeleti Tuğrul HELVACI 24 24.941 06-05-2026, Saat: 21:47
Son Yorum: frmman
  Datasnap veritabanı kayıt serdar 2 357 30-11-2025, Saat: 10:53
Son Yorum: serdar
  Rest servis api uygulaması yapma tuna 13 1.373 17-10-2025, Saat: 18:40
Son Yorum: tuna
  Veri Tabanına Kontrollü Kayıt Yaptırma bünyamin68 20 4.257 08-06-2025, Saat: 09:40
Son Yorum: izmaimen
  fastreport şablonu database e kayıt ercanskose 11 2.450 18-02-2025, Saat: 17:10
Son Yorum: akuyumcu63



Konuyu Okuyanlar: 1 Ziyaretçi