Ereçete Gönderimi

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

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 30 Mar 2018 01:33

@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: 850
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray » 30 Mar 2018 04:45

NewMember yazdı:
30 Mar 2018 01: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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 30 Mar 2018 07:47

@csunguray çok teşekkürler.
Proje aşağıda.
EreceteDeneme.rar - 2.9 MB

Kullanıcı avatarı
NewMember
Üye
Mesajlar: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 31 Mar 2018 10:07

@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: 850
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray » 31 Mar 2018 10:26

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.6 KiB) 17 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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 31 Mar 2018 12:28

@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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 01 Nis 2018 12:16

@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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 02 Nis 2018 03:17

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
Üye
Mesajlar: 1215
Kayıt: 11 Eyl 2015 11:45

Re: Ereçete Gönderimi

Mesaj gönderen ertank » 03 Nis 2018 10: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.

Kullanıcı avatarı
NewMember
Üye
Mesajlar: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 04 Nis 2018 09:23

ertank yazdı:
03 Nis 2018 10: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
Üye
Mesajlar: 1215
Kayıt: 11 Eyl 2015 11:45

Re: Ereçete Gönderimi

Mesaj gönderen ertank » 04 Nis 2018 10:55

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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 13 Nis 2018 04:44

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: 850
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray » 13 Nis 2018 07:59

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: 969
Kayıt: 29 Haz 2005 05:57
Konum: Bursa

Re: Ereçete Gönderimi

Mesaj gönderen NewMember » 14 Nis 2018 08:31

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: 850
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Ereçete Gönderimi

Mesaj gönderen csunguray » 16 Nis 2018 12:46

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