Server was unable to process request.Mernis bağlantı hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Server was unable to process request.Mernis bağlantı hatası

Mesaj gönderen Berdem »

Merhaba Arkadaşlar,
Mernis nüfus sorgulama sayfasına bağlantı kurmak istiyorum.

Kod: Tümünü seç

procedure Trpr.Button1Click(Sender: TObject);
var
  cc: TCKimlikNoKisiBilgi;
  vv: ServiceSoap;
  TC: int64;
begin
  TC := StrToint64(Edit1.Text);
  if (Length(IntToStr(TC)) = 11) and (IntToStr(TC) <> EmptyStr) then begin
    try
      vv := GetServiceSoap(false, '', HTTPRIO1);
      cc := vv.TCKimlikNoSorgula(999,'99999',TC);
       Label1.Caption:=cc.Ad ;
       Label2.Caption:=cc.Soyad;
       Label3.Caption:=cc.DogumTarih ;
    finally
      vv := nil;
    end;
  end
  else
  begin
    ShowMessage('Hatalı Girişiniz Olabilir..!');
  end;
end;

Kod: Tümünü seç

Server was unable to process request. ---> Object reference not set to an instance of an object. 

Hatası veriyor.HTTPRIO1 neslesinin port ayarlarını ve utf8header true yaptığım halde bu hatayı alıyorum.WDSL sayfasının Delphi desteği olmayabilirmi?
Yardımlarınızı bekliyorum.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
HTTPRIO bileşenleri delphi6 dan sonraki versiyonlarda sağlıklı çalışıyor.
kullandığın delphi versioyonu ile ilgili olabilir.
Birde tckimlik sorgulama hala çalışıyormu?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam..

@aslangeri bu özel bir fonksiyon, sadece giriş izni olanların kullandığı cinsten...

- Delphi7 ile denenmiştir -

- Bir deneme yaptım aynı hata döndü. Fonksiyon çok basit olduğundan sorunun server tarafında olduğunu değerlendiriyorum. Kullanıcı hizmetlerini arayıp sorunu iletirseniz en sağlıklısı olacaktır.

Kod: Tümünü seç

    function  TCKimlikNoSorgula(const userid: Integer; const pwd: WideString; const TcKimlikNumarasi: Int64): TCKimlikNoKisiBilgi; stdcall;

Kod: Tümünü seç

  TCKimlikNoKisiBilgi = class(TRemotable)
  private
    FTCKimlikNo: WideString;
    FAd: WideString;
    FSoyad: WideString;
    FDogumTarih: WideString;
    FDogumYer: WideString;
    FAnaAd: WideString;
    FBabaAd: WideString;
    FCinsiyet: WideString;
    FDurum: WideString;
    FMedeniHal: WideString;
    FOlumTarih: WideString;
    FOlumYer: WideString;
    FAileSiraNo: WideString;
    FBireySiraNo: WideString;
    FCiltAd: WideString;
    FCiltKod: WideString;
    FIlAd: WideString;
    FIlKod: WideString;
    FIlceAd: WideString;
    FIlceKod: WideString;
    FHata: WideString;
  published
    property TCKimlikNo: WideString read FTCKimlikNo write FTCKimlikNo;
    property Ad: WideString read FAd write FAd;
    property Soyad: WideString read FSoyad write FSoyad;
    property DogumTarih: WideString read FDogumTarih write FDogumTarih;
    property DogumYer: WideString read FDogumYer write FDogumYer;
    property AnaAd: WideString read FAnaAd write FAnaAd;
    property BabaAd: WideString read FBabaAd write FBabaAd;
    property Cinsiyet: WideString read FCinsiyet write FCinsiyet;
    property Durum: WideString read FDurum write FDurum;
    property MedeniHal: WideString read FMedeniHal write FMedeniHal;
    property OlumTarih: WideString read FOlumTarih write FOlumTarih;
    property OlumYer: WideString read FOlumYer write FOlumYer;
    property AileSiraNo: WideString read FAileSiraNo write FAileSiraNo;
    property BireySiraNo: WideString read FBireySiraNo write FBireySiraNo;
    property CiltAd: WideString read FCiltAd write FCiltAd;
    property CiltKod: WideString read FCiltKod write FCiltKod;
    property IlAd: WideString read FIlAd write FIlAd;
    property IlKod: WideString read FIlKod write FIlKod;
    property IlceAd: WideString read FIlceAd write FIlceAd;
    property IlceKod: WideString read FIlceKod write FIlceKod;
    property Hata: WideString read FHata write FHata;
  end;

Kod: Tümünü seç

  RemClassRegistry.RegisterXSClass(TCKimlikNoKisiBilgi, 'http://localhost/sbkpsws', 'TCKimlikNoKisiBilgi');
Resim
Resim ....Resim
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Merhaba,
Delphi 7 kullanıyorum.Daha önce mernis kapanmadan benzer sorgulama ile yanıt alıyordum.Şifreli bölüme geçince :? bu hata mesajı alıyorum.Bende server tarafında olabileceğini düşünüyorum. Ama C# kullanan arkadaşlarda sorun çıkmıyormuş. Acaba serverin delphi desteği yok veya bizim hatamız olabilirmi?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Size bildirilen özel bir port ayarı var mı ?

- Çünkü siz ne şekilde ayar yaparsanız yapın, HTTPRIO1 nesneniz

Kod: Tümünü seç

      vv := GetServiceSoap(false, '', HTTPRIO1);
komutunuz ile aşağıdaki fonksiyonla konuşturulduğundan; alacağı değer daima (False dediğiniz için) URL değeri olacaktır ve içeriği de 'http://212.175.169.157/sbkpsws/service.asmx' şeklinde olacaktır. Yani Port ve Service alanlarına değer atamışsanız bunları kaldırıp öyle tekrar deneyin. Belki şifreniz dahilinde girildiğinde başka türlü değerlendiriliyordur.

Kod: Tümünü seç

function GetServiceSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): ServiceSoap;
const
  defWSDL = 'http://212.175.169.157/sbkpsws/service.asmx?WSDL';
  defURL  = 'http://212.175.169.157/sbkpsws/service.asmx';
  defSvc  = 'Service';
  defPrt  = 'ServiceSoap';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as ServiceSoap);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;
- C# konusunda da farklı olduğunu sanmıyorum. Diyorsunuz ki onlarda sorun yok bizde var, o zaman üzerine eğilinesi bir durum söz konusu demektir. C# örneğine ulaşırsanız buraya yazın değerlendirelim...
Resim
Resim ....Resim
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

Çok Teşekürler Muharrem Bey,
Dediğiniz gibi yaptım false ayarladıktan sınra nesleyi port ve servis ayralrını değiştirip url adrsi ekledim aynı hatayı verdi.Sonra true yapıp öyle deneyim dedim.HTTPRIO1 neslesine WSDLLocation adresi sonra da servis ayarlarını servis ayalayıp , port ayarlarında iki seçenek var ikisinide denediğim halde aynı hatayı verdi. Hatta HTTPRIO1.HTTPWebNode1 username ve passw ayarlarınıda ayrıca denedim aynı hatayı verdi.
C# konusunuda arkadaşlarla görüşecem.
Kullanıcı avatarı
DarkEternal
Üye
Mesajlar: 158
Kayıt: 19 Eki 2005 11:00

Re: Server was unable to process request.Mernis bağlantı hatası

Mesaj gönderen DarkEternal »

Aynı sorunu bende yaşıyorum. Zaten yola C# kodunu Delphi' ye dönüştürmek ile başladım. C#' ta herşey yolunda iken Delphi' de aynı hatayı "Server was unable to process request" hatasını alıyorum?
kısa kısa yazılım...
http://TKorhan.blogspot.com/
akkaya83
Üye
Mesajlar: 19
Kayıt: 01 Tem 2003 10:23
İletişim:

Re: Server was unable to process request.Mernis bağlantı hat

Mesaj gönderen akkaya83 »

const
defWSDL = 'http://212.175.169.157/sbkpsws/service.asmx?WSDL';
defURL = 'http://212.175.169.157/sbkpsws/service.asmx';
defSvc = 'Service';
defPrt = 'ServiceSoap';

procedure TForm1.FormCreate(Sender: TObject);
begin
s:=GetServiceSoap;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
kod:integer;//kullaniciadi
list : TCKimlikNoKisiBilgi;
kullanici_kodu,I: Integer;
sifre : String;
try
memo1.Lines.Clear;
kullanici_kodu := 10000;
sifre := 'k12345';
list := (s.TCKimlikNKOSorgulaArray(kullanici_kodu,sifre,strtoint64(Edit1.Text)))[0];
memo1.lines.add(list.Ad);
memo1.lines.add(list.Soyad);

except
on E: Exception do
Memo1.Lines.Add('Kimlik Kaydı Sorgulanamadı... '+E.Message );
end;

Sorguda Şu Hatayı alıyorum : Server was unable to process request. ---> Object reference not set to an instance of an object.

Visual Studio 2008 de sorgulatabildim. ama Delphide ki uygulamalar için yazmam lazım. Bir çözümü var mı acaba..
Cevapla