.NET CORE Medula Web Servis Kullanımı yardım

372 views
Skip to first unread message

Ozan TD

unread,
Sep 25, 2019, 4:29:54 AM9/25/19
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhabalar, 
Öncelikle iyi çalışmalar. Başlıktan anlayacağınız üzere yardıma ihtiyacım var. Sistem ve .net core ortamına yeniyim fakat bu web servisleri kullanmak için örnek kod vs. ulaşamadım, özellikle .net core için. 
Aslında amacım, webservis çağrılarını içeride restfull yapıp deneme yapmak. Konuya gelirsek;

System.ServiceModel.BasicHttpBinding bind = new System.ServiceModel.BasicHttpBinding();
            bind.MaxBufferSize = int.MaxValue;
            bind.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max;
            bind.MaxReceivedMessageSize = int.MaxValue;
            bind.AllowCookies = true;
            bind.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.Transport;

            HastaKabulIslemleriClient service = new HastaKabulIslemleriClient(bind, new EndpointAddress("https://medula.sgk.gov.tr/medula/hastane/hastaKabulIslemleriWS"));
            service.ClientCredentials.UserName.UserName = username;
            service.ClientCredentials.UserName.Password = password;
    
            resp = await service.hastaYatisOkuAsync(istek);
            return  resp.hastaYatisOkuReturn.sonucMesaji ;

Bu şekilde yaptığım çağrıdan;
"Kullanici adi veya sifreniz hatalidir. Lutfen kontrol ediniz. Detay: Kimlik kontrolu basarisiz"  mesajı alıyorum. Fakat kullanıcı adım ve şifremle sisteme giriş yapabiliyorum. Problem nedir acaba? 

Yardımlarını için teşekkürler.

Murat ÖZÇELİK

unread,
Mar 5, 2020, 11:58:01 AM3/5/20
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
vb.net 2012  ile bi örnek :


        Try

            Dim ws_ARA As medeczaneWs.SaglikTesisiReceteIslemleriServiceWse = New medeczaneWs.SaglikTesisiReceteIslemleriServiceWse()
            Dim ws_icerik As New ereceteSorguIstekDVO
            ws_ARA.Credentials = New System.Net.NetworkCredential(TextBox1.Text, TextBox2.Text)

            ws_icerik .tesisKodu = "1212121212121"
            ws_icerik .ereceteNo = "121212121"
            ws_icerik .doktorTcKimlikNo = "12312312312"
   


            ws_ARA.RequestSoapContext.Security.Clear()

            Dim token As New Microsoft.Web.Services3.Security.Tokens.UsernameToken(TextBox1.Text, TextBox2.Text, Microsoft.Web.Services3.Security.Tokens.PasswordOption.SendPlainText)
            ws_ARA.RequestSoapContext.Security.Timestamp.TtlInSeconds = 14400
            ws_ARA.RequestSoapContext.Security.Tokens.Add(token)
            ws_ARA.RequestSoapContext.Security.MustUnderstand = True

            Dim ws_iceriksonuc As medeczaneWs.ereceteSorguCevapDVO = ws_ARA.ereceteSorgula(ws_icerik )
            MsgBox("SONUÇ:" & ws_iceriksonuc.sonucMesaji.ToString)

        Catch ex As Exception
            MsgBox("HATA:" & ex.ToString, MsgBoxStyle.Critical)
        End Try


belki yardımcı olur

E. Yazar

unread,
Mar 5, 2020, 3:07:07 PM3/5/20
to Sağlık Net İletişim Portalı Yazılım Geliştiriciler İçin
Merhaba,

 .net core 'de wshttpbinding desteği için .net core versiyonunuzun 3.0 veya daha yeni bir sürüm olması gerekli:

Ozan Türker Demir

unread,
Mar 6, 2020, 7:55:41 AM3/6/20
to sagli...@googlegroups.com
.net core versiyonu disinda kendi security headerinizi yazarak sorunu cozebildik tesekkurler

5 Mar 2020 Per 23:07 tarihinde E. Yazar <ertem...@gmail.com> şunu 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+...@googlegroups.com adresine e-posta gönderin.
Bu tartışmayı web'de görüntülemek için https://groups.google.com/d/msgid/saglik_net/a104d17a-63dd-4311-a966-769ef6c80c23%40googlegroups.com adresini ziyaret edin.
Reply all
Reply to author
Forward
0 new messages