Ereçete Gönderimi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

@csunguray teşekkürler.
Sizin kullandığınız WDSL ile bizim kullandığımız WDSL farklı.Sanırım o yüzden
Sonuc := Servis.ereceteGiris(Giris); satırı bizde şu hatayı veriyor.

Kod: Tümünü seç

[dcc32 Error] Unit1.pas(364): E2010 Incompatible types: 'ereceteGiris' and 'ereceteGirisIstekDVO'
Ben zaten sizin kodlarınızı googlede bulmuştum o zamanda uymamıştı.Biz işyeri hekimliği ile ilgili gönderim yapıyoruz.WDSL miz biraz farklı.
O yüzden kodum yukarıdaki gibi ancak yapabildim.

Kılavuz:
EreceteKılavuz.pdf - 449 KB
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray »

NewMember yazdı: 30 Mar 2018 02:33 Sizin kullandığınız WDSL ile bizim kullandığımız WDSL farklı.Sanırım o yüzden
Kontrol ettim. Aynıymış gibi görünüyor. Daha ayrıntılı bilgi verirseniz çözmenize yardımcı olayım. Kodunuz USES listenizdeki başka bir ünitenizden etkileniyor olabilir.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

@csunguray çok teşekkürler.
Proje aşağıda.
EreceteDeneme.rar - 2.9 MB
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

@csunguray yanlış anlamayın.Daha ayrıntılı bilgi verirseniz dediğiniz için kodları atmanın daha açıklayıcı olduğunu düşündüğümden kodları attım. :Noops
İlginize tekrar teşekkür ederim.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray »

Projeniz bendeki Delphi XE8'de olduğu gibi hata vermeden derlendi. Dokümanda gösterilen wsdl adreslerinden servisi tekrar import ettiğimde sizin saglikTesisiReceteIslemleriWS.pas dosyasından daha farklı bir şey çıkıyor. Siz servisi import ederken farklı bir program mı kullanıyorsunuz?

Delphi SGK servislerini tek adımda import ederken sorun yaratıyor. O yüzden servisi import etmek için aşağıdaki adımları uygulayın:

1. https://medeczane.sgk.gov.tr/medula/ecz ... eriWS?wsdl adresindeki dosyayı saglikTesisiReceteIslemleriWS.wsdl adıyla kaydedin.

2. Bu dosyanın 4. satırında belirtilen http://medeczane.sgk.gov.tr/medula/ecza ... ebe6de09c6 adresindeki dosyayı saglikTesisiReceteIslemleriWS.xsd adıyla kaydedin.

3. saglikTesisiReceteIslemleriWS.wsdl dosyasını Notepad veya Delphi gibi bir metin editörü ile açıp 4. satırdaki "http://medeczane.sgk.gov.tr/medula/ecza ... ebe6de09c6 adresindeki dosyayı saglikTesisiReceteIslemleriWS.xsd" dosyasının adını saglikTesisiReceteIslemleriWS.xsd olarak değiştirin ve wsdl dosyasnı kaydedin.

4. Daha sonra Delphi içerisinden WsdlImporter kullanarak kaydetmiş olduğunuz saglikTesisiReceteIslemleriWS.wsdl dosyasını import edin.

Ben az önce bu yolla servisi import ettim ve karşıma sizinkinden farklı bir dosya çıktı. Import ettiğim dosya ekte:
saglikTesisiReceteIslemleriWS.zip
(7.58 KiB) 106 kere indirildi
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

@csunguray aslında normal yoldan import olmuyor.Sizin google gruplardaki yazılarınızdan bu yukarıdaki import yönteminizi bulmuştum.Ve bu yukarıdaki yazdıklarınıza göre import yapmıştım aslında.Ama enteresan farklı çıkıyor.Ben XE 10 ile yaptım bu import işlemini. Tekrar kontrol edip sonucu buraya yazacağım.

Sizin gönderdiğiniz pas dosyası ilede benim kodlarım derlenmedi.Söylediğiniz gibi iki wsdl pas dosyası farklı.
Şimdi sizin gönderdiğiniz pas dosyası ile sizin kodlarınızı referans alarak göndermeyei deneyeceğim.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

@ertank;
@csunguray;
Sonuç Başarılı.
Her ikinize de ilgi ve alakanız için çok teşekkür ederim.

Sonuç: İlk kodlarımdaki wsdl dosyasını nasıl import ettiğime şaşırıyorum.Çünkü hata da vermedi.Tüm metodlar vardı.Bir daha import yaptım.Bu sefer @csunguray'ın verdiği dosyanın aynısı çıktı.

Dolayısıyla da o hata veren satır o wsdl dosyası ile hata vermedi ve reçeteyi başarıyla gönderdi.
Şu an elimde imza cihazı yok.Bir kaç gün içinde imza cihazınıda temin edip imzalıda göndermeye deneyeceğim.
Yada müşterilerimizden birisine deneteceğim.

Merak ettiğim bir şey daha var.SGK TLS 1.2 zorunlu kıldıktan sonra bir çok ereçete sistemi patlamıştı.Bazı devlet hastaneleri o gün ereçete gönderemememişti.(HBYS ler gğüncellenene kadar.)c# ile gönderim yapanlar güncelleme yapmak zorunda kalmışlardı.Burda ki kodlarda bu şekilde bir bildirim yada ayar göremedim.Ama gönderimler başarılı.Delphiye bir kez daha hayran kaldım.
Siz programlarınız da bu TLS 1.2 zorunluluğundan sonra güncelleme yaptınız mı? HTTPRIO bu işi kendi mi hallediyor?
Gerçekten merak ettim.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

Gönderim yaptığım pc de TLS 1.2 kulllan özelliğini işaretlediğimi unutmuşum.O yüzden sıkıntı çıkartmıyormuş.Bu özelliği kaldırdığım da bağlantı hatası veriyor.Regedite mudahale kodu ile aşılabilir.Ama HTTPPRO bileşeninden yapılmıyor sanırım.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Ereçete Gönderimi

Mesaj gönderen ertank »

Gördüğüm kadarıyla import edilen WSDL içindeki tüm URL referansları "http://servisler.ws.eczane.gss.sgk.gov.tr" şeklinde. Yani SSL protokolü olan "https://" ile başlamıyor.

Kendi URL'nizi kullanarak ve "https://" şeklinde değiştirerek deneyebilir misiniz? Bu denemeyi yaparken OpenSSL dll dosyalarını EXE uygulama ile aynı dizine kopyalamayı ihmal etmeyin.
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

ertank yazdı: 03 Nis 2018 11:35 Gördüğüm kadarıyla import edilen WSDL içindeki tüm URL referansları "http://servisler.ws.eczane.gss.sgk.gov.tr" şeklinde. Yani SSL protokolü olan "https://" ile başlamıyor.

Kendi URL'nizi kullanarak ve "https://" şeklinde değiştirerek deneyebilir misiniz? Bu denemeyi yaparken OpenSSL dll dosyalarını EXE uygulama ile aynı dizine kopyalamayı ihmal etmeyin.
Maalesef olmadı.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Ereçete Gönderimi

Mesaj gönderen ertank »

Aşağıdaki soruyu, altındaki notları ve cevabı okumanızı tavsiye ederim.
https://stackoverflow.com/questions/273 ... s-in-place

Ayrıca OpenSSL DLL dosyalarının eski olması halinde de sorun yaşanabiliyormuş
https://stackoverflow.com/questions/378 ... th-tls-1-2

Güncel OpenSSL DLL dosyaları için: https://indy.fulgan.com/SSL/

Sizin yaşadığınız sorun bu olmayabilri. Ancak bilgi anlamında okunmasında fayda var:
https://support.microsoft.com/en-us/hel ... otocols-in
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

Yardımlarınız için çok teşekkürler. :bravo: :bravo:
Ama maalesef son mesajdakileride uygulamama rağmen çözüm alamadım.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray »

Sorun nedir?
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
NewMember
Üye
Mesajlar: 990
Kayıt: 29 Haz 2005 06:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember »

Ben bulduğum open SSL dlllerinden sonuç alamamıştım.@ertank nın verdiği linkteki https://indy.fulgan.com/SSL/ ssl dlllerinde de sonuç alamadım.
TLS 1.2 den dolayı servisle bağlantı sağlanamıyor.Manuel internet seçeneklerinden TLS 1.2. kullan seçmek zorunda kalıyoruz.
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray »

Web servis üzerinden e-reçete gönderemi için Open SSL kütüphanelerine ihtiyacınız olduğunu sanmıyorum. Ben şimdiye kadar hiç ihtiyaç duymadım.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Cevapla