wsdl soap hatası?

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

wsdl soap hatası?

Mesaj gönderen deltas »

Herkeze hayırlı ramazanlar
Sorunum wsdl ile.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
servis :MvsInterface;
giris: HastaHekimNoIleIstek;
sonuc:HastaHekimNoIleCevap;

begin
httprio1.HTTPWebNode.GetHTTPReqResp.UserName:=edit1.Text;
httprio1.HTTPWebNode.GetHTTPReqResp.Password:=edit2.Text;
httprio1.HTTPWebNode.UseUTF8InHeader:=true;
try
giris:=HastaHekimNoIleIstek.Create;
giris.BILESEN_SORGU.AILEHEKIMI_REF.DIPLOMA_NO:=edit3.Text;

servis:=GetMvsInterface(False,'',HTTPRIO1);
sonuc:=servis.HastaHekimNoIle(giris).Create;
label1.Caption:=sonuc.ACIKLAMA;
except

     On E:exception do
      begin
         raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;
end;
end;
yukarıdaki kodu çalıştırdığımda derlemede herhangi bir hata yok. Ama runtime de "access violation at adresss..." şeklinde bir hata aliyorum. hata satırı olarak

Kod: Tümünü seç

giris.BILESEN_SORGU.AILEHEKIMI_REF.DIPLOMA_NO:=edit3.Text;
bu kısımda program kırılıyor. bu kısmı içeren pas dosyasıda aşşağıda verdiğim gibi. sornun kaynağını bi türlü anlayamadım. program kırıldığından dolayı servis işlemide devreye alınmıyor. bu kısmı çıkarınca servis işlemi devreye giriyor. ancak eksik bilgi gönderdiğimden geriye gelen değere boş dönüyor. bu yukarıdaki kod satırını nasıl düzenleyebilirim? Teşekkür ederim

Kod: Tümünü seç

HastaHekimNoIleIstek = class(TRemotable)
  private
    FKOD: KOD;
    FACIKLAMA: WideString;
    FACIKLAMA_Specified: boolean;
    FID: ID;
    FTARIH: DTE;
    FBILESEN_SORGU: HASTASORGUHEKIMBILSESEN;
    FKULLANICI: KULLANICI;
    procedure SetACIKLAMA(Index: Integer; const AWideString: WideString);
    function  ACIKLAMA_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
    destructor Destroy; override;
  published
    property KOD:           KOD                      read FKOD write FKOD;
    property ACIKLAMA:      WideString               Index (IS_OPTN) read FACIKLAMA write SetACIKLAMA stored ACIKLAMA_Specified;
    property ID:            ID                       read FID write FID;
    property TARIH:         DTE                      read FTARIH write FTARIH;
    property BILESEN_SORGU: HASTASORGUHEKIMBILSESEN  read FBILESEN_SORGU write FBILESEN_SORGU;
    property KULLANICI:     KULLANICI                read FKULLANICI write FKULLANICI;
  end;

Kod: Tümünü seç

HASTASORGUHEKIMBILSESEN = class(TRemotable)
  private
    FAILEHEKIMI_REF: AILEHEKIMI;
  public
    destructor Destroy; override;
  published
    property AILEHEKIMI_REF: AILEHEKIMI  read FAILEHEKIMI_REF write FAILEHEKIMI_REF;
  end;

Kod: Tümünü seç

AILEHEKIMI = class(KISIREF)
  private
    FDIPLOMA_NO: DIPLOMANO;
    FDIPLOMA_NO_Specified: boolean;
    procedure SetDIPLOMA_NO(Index: Integer; const ADIPLOMANO: DIPLOMANO);
    function  DIPLOMA_NO_Specified(Index: Integer): boolean;
  published
    property DIPLOMA_NO: DIPLOMANO  Index (IS_ATTR or IS_OPTN) read FDIPLOMA_NO write SetDIPLOMA_NO stored DIPLOMA_NO_Specified;
  end;

Kod: Tümünü seç

KISIREF = class(TRemotable)
  private
    FTCKIMLIK_NO: TCKIMLIK;
    FTCKIMLIK_NO_Specified: boolean;
    FAD: strOtuz;
    FAD_Specified: boolean;
    FSOYAD: strOtuz;
    FSOYAD_Specified: boolean;
    procedure SetTCKIMLIK_NO(Index: Integer; const ATCKIMLIK: TCKIMLIK);
    function  TCKIMLIK_NO_Specified(Index: Integer): boolean;
    procedure SetAD(Index: Integer; const AstrOtuz: strOtuz);
    function  AD_Specified(Index: Integer): boolean;
    procedure SetSOYAD(Index: Integer; const AstrOtuz: strOtuz);
    function  SOYAD_Specified(Index: Integer): boolean;
  published
    property TCKIMLIK_NO: TCKIMLIK  Index (IS_ATTR or IS_OPTN) read FTCKIMLIK_NO write SetTCKIMLIK_NO stored TCKIMLIK_NO_Specified;
    property AD:          strOtuz   Index (IS_ATTR or IS_OPTN) read FAD write SetAD stored AD_Specified;
    property SOYAD:       strOtuz   Index (IS_ATTR or IS_OPTN) read FSOYAD write SetSOYAD stored SOYAD_Specified;
  end;
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: wsdl soap hatası?

Mesaj gönderen aslangeri »

s.a.
hata veren satıra break point koyun. ve giriş bileşninden başlayarak fareyi bileşenlerin üzerine getirin.
muhtemelen biri create edilmemiş ondan dolayı hata veriyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: wsdl soap hatası?

Mesaj gönderen MehmetZahit »

Delphi versiyonun kaç ?
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: wsdl soap hatası?

Mesaj gönderen deltas »

delphi 2007 kullanıyorum.
@aslangeri hocam dediğiniz gibi tüm bileşenleri creat ettim.aşağıdaki gibi değişiklik yaptım. ama aynı hatayı almaya devam ediyorum.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
servis :MvsInterface;
giris: HastaHekimNoIleIstek;
sonuc:HastaHekimNoIleCevap;
giris1:HASTASORGUHEKIMBILSESEN;
giris2:ailehekimi;
begin
httprio1.HTTPWebNode.GetHTTPReqResp.UserName:=edit1.Text;
httprio1.HTTPWebNode.GetHTTPReqResp.Password:=edit2.Text;
httprio1.HTTPWebNode.UseUTF8InHeader:=true;
try
giris:=HastaHekimNoIleIstek.Create;
giris.BILESEN_SORGU.Create;
giris.BILESEN_SORGU.AILEHEKIMI_REF.Create;
giris.BILESEN_SORGU.AILEHEKIMI_REF.DIPLOMA_NO:=edit3.Text;
servis:=GetMvsInterface(False,'',HTTPRIO1);
sonuc:=servis.HastaHekimNoIle(giris).Create;
label1.Caption:=sonuc.ACIKLAMA;
except
     On E:exception do
      begin
         raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;
end;
end;
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: wsdl soap hatası?

Mesaj gönderen deltas »

@aslangeri hocam teşekkür ederim. dediğiniz gibi tüm hepsini creat edince sorun düzeldi.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Cevapla