$parameters[] = new SoapVar($imzaliveri, XSD_BASE64BINARY, null, "", 'imzaliErecete');
$parameters['tesisKodu'] = $drbrbilgi['tesisKodu'];
$parameters['surumNumarasi'] = '1';
$parameters['doktorTcKimlikNo'] = $rbilgi['RCP_doktorTcKimlikNo'];
$parameter = [
'arg0' => new SoapVar($parameters, SOAP_ENC_OBJECT)
];
$client = new SoapClient("https://medeczane.sgk.gov.tr/medula/eczane/saglikTesisiReceteIslemleriWS?wsdl");
$wsse = '<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>'.$rbilgi['RCP_doktorTcKimlikNo'].'</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/ws ms/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">'.$_POST['MedulaSifre'].'</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>';
$header_data = new SoapVar($wsse, XSD_ANYXML);
$header = new SoapHeader('http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd', 'Security', $header_data);
$client->__setSoapHeaders($header);
$results = $client->imzaliEreceteGiris($parameter);
print_r($results);Merhaba Arkadaşlar,
İmzalı reçete xml verisini yukarıdaki şekilde gönderiyorum. fakat ya yazılımsal bir hata var diyor ya da biraz değişiklik yaptığımda base64 hatası geliyor. nasıl bir veri yollamalıyım.
Bakanlığın yayınladığı dokümanda "İmzalan orijinal XML dosyası imzalı dosyanın içinde 64’lük tabanda (base 64) kodlanarak yer alacaktır. "
denmekte bunun anlamı nedir?
stdClass Object ( [imzaliEreceteGirisReturn] => stdClass Object ( [sonucKodu] => 0001 [sonucMesaji] => Yazılımsal veya sistemsel bir hata oluştu. [uyariMesaji] => ) )
daha önce bu işle uğraşıp başarmış arkadaşlar yardımcı olabilir mi?
Herkese iyi çalışmalar.
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<ereceteBilgisi>
<doktorBransKodu>9999</doktorBransKodu>
<doktorTcKimlikNo>....</doktorTcKimlikNo>
<doktorSertifikaKodu>0</doktorSertifikaKodu>
<ereceteIlacBilgisi>
<adet>1</adet>
<barkod>8699502012868</barkod>
<ereceteIlacAciklamaBilgisi>
<aciklama>1</aciklama>
<aciklamaTuru>1</aciklamaTuru>
</ereceteIlacAciklamaBilgisi>
<kullanimDoz1>1</kullanimDoz1>
<kullanimDoz2>1</kullanimDoz2>
<kullanimPeriyot>1</kullanimPeriyot>
<kullanimPeriyotBirimi>3</kullanimPeriyotBirimi>
<kullanimSekli>1</kullanimSekli>
</ereceteIlacBilgisi>
<ereceteTaniBilgisi>
<taniKodu>I10</taniKodu>
</ereceteTaniBilgisi>
<ereceteAciklamaBilgisi>
<aciklama>Esansiyel (primer) hipertansiyon</aciklama>
<aciklamaTuru>1</aciklamaTuru>
</ereceteAciklamaBilgisi>
<protokolNo>400</protokolNo>
<provizyonTipi>1</provizyonTipi>
<receteAltTuru>1</receteAltTuru>
<receteTarihi>20.07.2018</receteTarihi>
<receteTuru>1</receteTuru>
<seriNo>2...</seriNo>
<takipNo>0</takipNo>
<tcKimlikNo>...</tcKimlikNo>
<tesisKodu>11349903</tesisKodu>
</ereceteBilgisi>
Merhaba Arkadaşlar,
bu XML verisini imzalıyorum ve doğrulamasını da yapıyorum. imzalı veriyi gönderiyorum fakat ne yaptıysam 'yazılımsal ve sistemler hata var' kısmını geçemedim.
yolladığım SOAP veri: array(1) { ["arg0"]=> object(SoapVar)#15 (2) { ["enc_type"]=> int(301) ["enc_value"]=> array(4) { [0]=> object(SoapVar)#14 (3) { ["enc_type"]=> int(116) ["enc_value"]=> string(8636) "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmN...gdmVIiB==" ["enc_name"]=> string(13) "imzaliErecete" } ["tesisKodu"]=> string(8) "11349903" ["surumNumarasi"]=> string(1) "1" ["doktorTcKimlikNo"]=> string(11) "...." } } }
Yardımcı olabilir misiniz?
Herkese iyi çalışmalar