eReçete c# örnek kod (Soap Header + imzaliEreceteGirisIstek)

2,056 views
Skip to first unread message

Erdal Cetin

unread,
Nov 15, 2017, 1:01:11 PM11/15/17
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
 

            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
            binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
            binding.MessageEncoding = WSMessageEncoding.Text;
            CustomBinding customBinding = new CustomBinding(binding);
            SecurityBindingElement element = customBinding.Elements.Find<SecurityBindingElement>();
            element.IncludeTimestamp = false;
            EndpointAddress eReceteEndpointAddress = new EndpointAddress("https://medeczane.sgk.gov.tr/medula/eczane/saglikTesisiReceteIslemleriWS"); //canlı servis adresidir!
            SaglikTesisiReceteIslemleriClient eReceteProxy = new SaglikTesisiReceteIslemleriClient(customBinding, eReceteEndpointAddress);
            eReceteProxy.ClientCredentials.UserName.UserName = DR_KULLANICIADI;
            eReceteProxy.ClientCredentials.UserName.Password = DR_KULLANICISIFRE;

            imzaliEreceteGirisIstekDVO istek = new imzaliEreceteGirisIstekDVO();
            istek.imzaliErecete = Encoding.UTF8.GetBytes(imzaliEReceteXML); //Imzalı Erecete Xml'i
            istek.doktorTcKimlikNo =  DR_TCKNO;
            istek.tesisKodu = KURUM_TESISKODU;
            istek.surumNumarasi = 1;

            var sonuc = eReceteProxy.imzaliEreceteGiris(istek );


BURCU DURMUŞ NALÇACI

unread,
Nov 16, 2017, 3:21:52 AM11/16/17
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Erdal Bey çok teşekkürler paylaşımınız için, 
Bu şekilde yapınca web servise erişilebiliyor . 



15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal Cetin yazdı:

Erdal Cetin

unread,
Nov 16, 2017, 6:08:51 AM11/16/17
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Faydalı olmasına sevindim.

barış bankacı

unread,
Jan 2, 2018, 2:23:13 PM1/2/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Erdal bey merhaba c# ta e-reçete uygulaması yapmak istiyorum fakat kaynak bulamadım rica etsem yardımcı olur musunuz ?

15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal ÇETİN - [eReceteImza.com] yazdı:

Emre göl

unread,
Jan 3, 2018, 8:49:59 AM1/3/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Erdal bey merhaba
Serviste SSL/TLS hatası alıyordum sizin yazdığınızı denedim olmadı.servisi (bu yardımcı servis reçetedede aynı hata var)güncellemeyi denedim aşağıdaki hatayı alıyorum bilginiz var mıdır?
Teşekkürler

The request was aborted: Could not create SSL/TLS secure channel.
Metadata contains a reference that cannot be resolved: 'https://medeczane.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS'.
Could not establish secure channel for SSL/TLS with authority 'medeczane.sgk.gov.tr'.
The request was aborted: Could not create SSL/TLS secure channel.
If the service is defined in the current solution, try building the solution and adding the service reference again.



15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal ÇETİN - [eReceteImza.com] yazdı:

Erdal ÇETİN - [eReceteImza.com]

unread,
Jan 3, 2018, 1:58:05 PM1/3/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
27 aralık 2017 de duyrdukları 3 ocak 2018 guncellemesi ile tls 1.2 ye geçildi.
ona göre geliştirmeniz gerekli.

Emre göl

unread,
Jan 4, 2018, 1:54:19 AM1/4/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
.net 4.6.1 kullanıyorum ssl mi kurmam gerekiyor anlayamadım makinede tls 1.2 aktif ama çalıştıramadım kolay gelsin

3 Ocak 2018 Çarşamba 21:58:05 UTC+3 tarihinde Erdal ÇETİN - [eReceteImza.com - TLS 1.2 uyumlu] yazdı:

BURCU DURMUŞ NALÇACI

unread,
Jan 4, 2018, 7:20:19 AM1/4/18
to sagli...@googlegroups.com
Merhaba,

web servisi çağırmadan önce koda aşağıdaki satırı ekledim ,sorunu giderdi.

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //in .NET 4.5

Bilginize,


4 Ocak 2018 09:54 tarihinde Emre göl <emre...@gmail.com> yazdı:

--
Bu iletiyi Google Grupları'ndaki "Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için saglik_net+unsubscribe@googlegroups.com adresine e-posta gönderin.
Daha fazla seçenek için https://groups.google.com/d/optout adresini ziyaret edin.

Emre göl

unread,
Jan 4, 2018, 8:51:58 AM1/4/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Teşekkür ederim .net 4.6.1 de koda gerek yokmuş.
Web.config'e <httpRuntime targetFramework="4.6"/> eklenince düzeldi

4 Ocak 2018 Perşembe 15:20:19 UTC+3 tarihinde BURCU DURMUŞ NALÇACI yazdı:
Merhaba,

web servisi çağırmadan önce koda aşağıdaki satırı ekledim ,sorunu giderdi.

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //in .NET 4.5

Bilginize,

4 Ocak 2018 09:54 tarihinde Emre göl <emre...@gmail.com> yazdı:
.net 4.6.1 kullanıyorum ssl mi kurmam gerekiyor anlayamadım makinede tls 1.2 aktif ama çalıştıramadım kolay gelsin

3 Ocak 2018 Çarşamba 21:58:05 UTC+3 tarihinde Erdal ÇETİN - [eReceteImza.com - TLS 1.2 uyumlu] yazdı:
27 aralık 2017 de duyrdukları 3 ocak 2018 guncellemesi ile tls 1.2 ye geçildi.
ona göre geliştirmeniz gerekli.

--
Bu iletiyi Google Grupları'ndaki "Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin" grubuna abone olduğunuz için aldınız.
Bu grubun aboneliğinden çıkmak ve bu gruptan artık e-posta almamak için saglik_net+...@googlegroups.com adresine e-posta gönderin.

Ali Kurt

unread,
Jan 12, 2018, 5:23:08 AM1/12/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhaba,
Windows 10'da;
Delphi ile aynı bilgisayarda servisi güncelleyebiliyorum fakat aynı servisi c# 'cda güncellereken bu hatayı bana da veriyor.
c#' 'ta nereye ayar yapmam lazım, yardımcı olacaklara cok tesekürler.

Ali Kurt


3 Ocak 2018 Çarşamba 15:49:59 UTC+2 tarihinde Emre göl yazdı:

cagdask

unread,
Jan 12, 2018, 8:31:13 AM1/12/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

12 Ocak 2018 Cuma 13:23:08 UTC+3 tarihinde Ali Kurt yazdı:

deni...@gmail.com

unread,
Jan 30, 2018, 4:52:40 AM1/30/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhaba Erdal bey, 
kod tarafında new SaglikTesisiReceteIslemleriClient(customBinding, eReceteEndpointAddress);  parametre kabul etmiyor. yapıda bir değişiklik mi? oldu 



SaglikTesisiReceteIslemleriClient eReceteProxy = new SaglikTesisiReceteIslemleriClient(customBinding, eReceteEndpointAddress);
            eReceteProxy.ClientCredentials.UserName.UserName = DR_KULLANICIADI;
            eReceteProxy.ClientCredentials.UserName.Password = DR_KULLANICISIFRE;

teşekkürler

15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal ÇETİN - [JAVA gerektirmeyen,eReceteImza.com] yazdı:

Erdal ÇETİN - [JAVA gerektirmeyen,eReceteImza.com]

unread,
Jan 31, 2018, 2:51:21 AM1/31/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Herhangi bir değişiklik yok. Ancak Burcu Hanım 'ın paylaştığı satırı (yukarıdaki postlarda) eklemeniz gerekmekte. Aksi halde guvenlik protokolunde sorun yaşarsınız.

Samet çakmak

unread,
Apr 6, 2018, 2:28:53 AM4/6/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin

Merhaba, .Web uygulamama e-reçete modülü eklemek istiyorum. İmza olayını nasıl yapacağıma bir türlü karar veremedim. Daha doğrusu web sayfasından nasıl imzalama işlemi yapabileceğimi bulamadım. Konuyla ilgili yardımcı olursanız sevinirim. Şimdiden teşekkürler


15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal ÇETİN - [JAVA gerektirmeyen,eReceteImza.com] yazdı:

Erdal ÇETİN - [JAVA gerektirmeyen,eReceteImza.com]

unread,
Apr 7, 2018, 4:51:39 AM4/7/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
imza cihazına web üzerinden direk olarak erişemezsınız.
web sayfası üzerinden imzalama işlemi için ya java ile sayfanızda geliştirme yapacaksınız yada tcpclient/websocket ile dinleme yapacak bir  uygulama geliştireceksiniz.


Kemal GÜLOL

unread,
May 25, 2018, 9:39:56 AM5/25/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Delphide Örnek Kod uygulaması var mı Yada Full Source? Zaman sınırım var uygulamama ek olarak acil e-Reçete uygulaması yapmam gerekiyor ücreti mukabilinde kodları yada destek satın alabilirim. Saygılarımla İyi Çalışmalar İletişim Tel : 05356666762


15 Kasım 2017 Çarşamba 21:01:11 UTC+3 tarihinde Erdal ÇETİN - [JAVA gerektirmeyen,eReceteImza.com] yazdı:

Oğuzhan SABUNCU

unread,
Sep 28, 2018, 3:56:07 PM9/28/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Erdal Bey merhaba,
Biraz yeniyimde medula sisteminde,

- https://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS için Kullanıcı adı ve şifre = 99999999990, tesis kodu= 11069904 ve doktor kimlik = 99999999990 ile sorgu çekiyorum.
fakat https://sgkt.sgk.gov.tr/medula/hastane/yardimciIslemlerWS linki için bir türlü kullanıcı adı ve şifresini bulamadım. yardımcı olabilir misiniz?

Teşekkürler,

16 Kasım 2017 Perşembe 14:08:51 UTC+3 tarihinde Erdal ÇETİN - [Veriimza.com] yazdı:
Faydalı olmasına sevindim.

Tuğba

unread,
Sep 29, 2018, 9:19:57 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhabalar aşağıdaki belirttiğiniz saglikTesisiYardimcilİslemler için test ortamında deneme yapmak istiyorum. Ama ben bir sonuca ulaşamadım maalesef,hata alıyorum. Eğer siz sorgu çekebildiyseniz, rica etsem en azından test edebilmem için yardımcı olur musunuz?
Kodlarım şöyle :

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;

            BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);

            binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;

            binding.MessageEncoding = WSMessageEncoding.Text;

            CustomBinding customBinding = new CustomBinding(binding);

            SecurityBindingElement element = customBinding.Elements.Find<SecurityBindingElement>();

            element.IncludeTimestamp = false;

            EndpointAddress eReceteEndpointAddress = new EndpointAddress("https://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS?wsdl");


            SaglikTesisiYI.SaglikTesisiYardimciIslemleriClient clientTesis = new SaglikTesisiYI.SaglikTesisiYardimciIslemleriClient();

            clientTesis.ClientCredentials.UserName.UserName = "99999999990";

            clientTesis.ClientCredentials.UserName.Password = "99999999990";

            clientTesis.Open();


            SaglikTesisiYI.raporTeshisListesiSorguIstekDVO istek = new SaglikTesisiYI.raporTeshisListesiSorguIstekDVO();

            istek.doktorTcKimlikNo = 99999999990;

            istek.tesisKodu = 11069904;


            var tesisResponse = clientTesis.raporTeshisListesiSorgula(istek);


tesisResponse da "Tanınmayan ileti sürümü" hatası alıyorum. Bir yerlerde hata mı yapıyorum ya da eksik kalan bir şeyler mi var tam anlayamadım.

App.config dosyam ise şöyle :

 <system.serviceModel>

        <bindings>

            <basicHttpBinding>

                <binding name="TibbiMalzemeERaporIslemleriPortBinding" />

                <binding name="SaglikTesisiYardimciIslemleriPortBinding" />

            </basicHttpBinding>

        </bindings>

        <client>

            <endpoint address="http://sgkt.sgk.gov.tr/SahisOdemeleriWS2/TibbiMalzemeERaporIslemleriService"

                binding="basicHttpBinding" bindingConfiguration="TibbiMalzemeERaporIslemleriPortBinding"

                contract="TibbiMalzeme.TibbiMalzemeERaporIslemleri" name="TibbiMalzemeERaporIslemleriPort" />

            <endpoint address="http://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS"

                binding="basicHttpBinding" bindingConfiguration="SaglikTesisiYardimciIslemleriPortBinding"

                contract="SaglikTesisiYI.SaglikTesisiYardimciIslemleri" name="SaglikTesisiYardimciIslemleriPort" />

        </client>

    </system.serviceModel>


Eğer yardımcı olabilirseniz çok sevinirim. Şimdiden teşekkür eder, iyi çalışmalar dilerim...


28 Eylül 2018 Cuma 22:56:07 UTC+3 tarihinde Oğuzhan SABUNCU yazdı:

Erdal ÇETİN - [Veriimza.com]

unread,
Sep 29, 2018, 9:21:29 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Oğuzhan Bey merhaba,

https://sgkt.sgk.gov.tr/medula/hastane/yardimciIslemlerWS servisi ile ilgili hiç bir çalışmam olmadı. Bu nedenle sorunuza yanıt veremiyorum.

Erdal ÇETİN - [Veriimza.com]

unread,
Sep 29, 2018, 9:25:39 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Tuğba Hanım


ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12;


yerine

            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
yazıp dener misiniz?


29 Eylül 2018 Cumartesi 16:21:29 UTC+3 tarihinde Erdal ÇETİN - [Veriimza.com] yazdı:

Tuğba

unread,
Sep 29, 2018, 9:27:15 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhabalar,
Öncelikle yanıtınız için teşekkür ederim. Denedim ancak yine aynı hatayı alıyorum.

29 Eylül 2018 Cumartesi 16:25:39 UTC+3 tarihinde Erdal ÇETİN - [Veriimza.com] yazdı:

Erdal ÇETİN - [Veriimza.com]

unread,
Sep 29, 2018, 9:30:03 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin

      SaglikTesisiYI.SaglikTesisiYardimciIslemleriClient clientTesis = new SaglikTesisiYI.SaglikTesisiYardimciIslemleriClient();
yerine

SaglikTesisiYardimciIslemleriClient clientTesis = new SaglikTesisiYardimciIslemleriClient(customBinding, eReceteEndpointAddress );


29 Eylül 2018 Cumartesi 16:27:15 UTC+3 tarihinde Tuğba yazdı:

Tuğba

unread,
Sep 29, 2018, 9:35:01 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhabalar size de sıkıntı veriyorum kusura bakmayın ancak yine aynı hata ile karşılaştım.
Project Properties den entity framework sürümünü 4.5 ten 4.7.2 ye yükseltmeyi de denedim ancak o da fayda etmedi maalesef.

29 Eylül 2018 Cumartesi 16:30:03 UTC+3 tarihinde Erdal ÇETİN - [Veriimza.com] yazdı:

Erdal ÇETİN - [Veriimza.com]

unread,
Sep 29, 2018, 9:38:06 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
EndpointAddress eReceteEndpointAddress = new EndpointAddress("https://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS?wsdl");

yerine

EndpointAddress eReceteEndpointAddress = new EndpointAddress("https://sgkt.sgk.gov.tr/medula/eczane/saglikTesisiYardimciIslemleriWS");

Tuğba

unread,
Sep 29, 2018, 9:56:53 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhabalar Erdal Bey,
Sonuç kodu 0000 geldi. Sanırım test ortamındaki deneme başarılı oldu.
Her şey için teşekkür ediyorum. 
İyi günler, iyi çalışmalar

29 Eylül 2018 Cumartesi 16:38:06 UTC+3 tarihinde Erdal ÇETİN - [Veriimza.com] yazdı:

Erdal ÇETİN - [Veriimza.com]

unread,
Sep 29, 2018, 10:03:50 AM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Sorunun çözülmesine sevindim.

29 Eylül 2018 Cumartesi 16:56:53 UTC+3 tarihinde Tuğba yazdı:

Oğuzhan SABUNCU

unread,
Sep 29, 2018, 3:50:13 PM9/29/18
to sagli...@googlegroups.com
Erdal Bey,
Aşağıdaki kod ile meduladan erecete sorgulatıyorum ama bu kodlama doktor tc si zorunlu normalden hasta tc no ve erecete kodu ile sorgu çekilmiyor mu?

            Ws3.ereceteListeSorguIstekDVO iss = new Ws3.ereceteListeSorguIstekDVO();
            iss.tesisKodu = 11069904;
            iss.hastaTcKimlikNo = 99999999990;
            iss.doktorTcKimlikNo = 99999999990;           
            Ws3.ereceteListeSorguCevapDVO cev = new Ws3.ereceteListeSorguCevapDVO();

Erdal ÇETİN - [Veriimza.com] <erdal...@gmail.com>, 29 Eyl 2018 Cmt, 16:21 tarihinde şunu yazdı:
Oğuzhan Bey merhaba,

https://sgkt.sgk.gov.tr/medula/hastane/yardimciIslemlerWS servisi ile ilgili hiç bir çalışmam olmadı. Bu nedenle sorunuza yanıt veremiyorum.

--

Turgut Taspinar

unread,
Sep 29, 2018, 4:04:49 PM9/29/18
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Medula eczane ve hastane farklı içeriktedir. Hastane personeli olarak yazılım geliştirme işlerinden kopuk olsamda servislerin muhteviyatları farklıdır, bunu biliyorum.
Hastane tarafında, reçete sorgu işini yapan hekim bilgisi ve sorgulamayı yapan kişi bilgileri loglanır (hekim adına başkası da sorguluyor olabilir¿).
Eczane tarafinda, uygulama geliştiren kişiler ile hiç çalışmadım ya da iletişimim olmadı. Genelde, iletişimde olduğum eczacılar, direkt olarak medula ekranından (program içersine gömülü olan bir tarayıcı sayfası ile) çalışmakta.
Yine de, hekim bilgisinin eczane tarafında sorgulanmasını anlamsız buldum. Hasta ve reçete no bilgisi yeterli olması gerek. WebUI bu şekilde olmasına karşın SOAP servisi farklı çalışıyor olabilir. Entegrasyon dokümanlarını incelemekte fayda görüyorum.

İyi çalışmalar.

Oğuzhan SABUNCU

unread,
Sep 29, 2018, 4:09:04 PM9/29/18
to sagli...@googlegroups.com
Aynen tüm metodlara baktım tamamında doktor tc si istiyor anlam veremedim.

Turgut Taspinar <sebepsi...@gmail.com>, 29 Eyl 2018 Cmt, 23:04 tarihinde şunu yazdı:
--
Reply all
Reply to author
Forward
0 new messages