https://sgkt.sgk.gov.tr/medula/eczan...d-dfebe6de09c6
bu linkte şeması mevcut, alması gereken tüm parametreler verdigim linkte belirtilmiş. senin kodlarında arg0 arg1 arg2 ... diye parametreler var fakat şemada böyle bir parametre istemiyor.
arg0 içinde ereceteDVO parametresini vermen gerekiyor. tabi ereceteDVO altındada yine yeni parametreler istemekte, verdigim linkteki şema üzerinden daha kolay ilerleyebilirsin.
Çok teşekkürler. Son bir şey daha sorsam eğer sıkmamış olursam;
<xs:complexType name="ereceteDVO">
<xs:sequence>
<xs:element name="protokolNo" type="xs:string"/>
<xs:element name="provizyonTipi" type="xs:int"/>
<xs:element name="receteAltTuru" type="xs:int"/>
<xs:element name="receteTarihi" type="xs:string"/>
<xs:element name="receteTuru" nillable="true" type="xs:int"/>
<xs:element name="takipNo" type="xs:string"/>
<xs:element name="tcKimlikNo" type="xs:long"/>
<xs:element name="tesisKodu" type="xs:int"/>
<xs:element minOccurs="0" name="seriNo" nillable="true" type="xs:string"/>
<xs:element name="doktorBransKodu" type="xs:int"/>
<xs:element name="doktorSertifikaKodu" type="xs:int"/>
<xs:element minOccurs="0" name="kisiDVO" nillable="true" type="tns:kisiDVO"/>
<xs:element minOccurs="0" name="ereceteNo" nillable="true" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="ereceteIlacListesi" type="tns:ereceteIlacDVO"/>
<xs:element maxOccurs="unbounded" name="ereceteTaniListesi" type="tns:ereceteTaniDVO"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ereceteAciklamaListesi" nillable="true" type="tns:ereceteAciklamaDVO"/>
<xs:element minOccurs="0" name="doktorAdi" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="doktorSoyadi" nillable="true" type="xs:string"/>
<xs:element name="doktorTcKimlikNo" type="xs:long"/>
</xs:sequence>
</xs:complexType>
Bu veriyi göndereceğim, o kısım tamam ama,
try {
$client = new SoapClient("https://sgkt.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>' . $user_medula_username . '</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/ws ms/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">' . $user_medula_password . '</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);
$parameters = [];
$parameters[] = new SoapVar($MEDULAtesisKodu, XSD_INT, null, "", 'tesisKodu', '');
$parameters[] = new SoapVar($MEDULAtcKimlikNo, XSD_STRING, null, "", 'tcKimlikNo');
$parameters[] = new SoapVar($MEDULAprovizyonTipi, XSD_INT, null, "", 'provizyonTipi', '');
$parameters[] = new SoapVar($MEDULAreceteTarihi, XSD_STRING, null, "", 'receteTarihi');
$parameters[] = new SoapVar($MEDULAreceteAltTuru, XSD_INT, null, "", 'receteAltTuru', '');
$parameters[] = new SoapVar($MEDULAprotokolNo, XSD_STRING, null, "", 'protokolNo');
$parameters[] = new SoapVar($MEDULAdoktorTcKimlikNo, XSD_STRING, null, "", 'doktorTcKimlikNo');
$parameters[] = new SoapVar($MEDULAdoktorBransKodu, XSD_INT, null, "", 'doktorBransKodu', '');
$parameters[] = new SoapVar($MEDULAdoktorSertifikaKodu, XSD_INT, null, "", 'doktorSertifikaKodu', '');
$ereceteDVO = [
'arg0' => new SoapVar($parameters, SOAP_ENC_OBJECT)
];
$results = $client->ereceteGiris($ereceteDVO);
print_r($results);
} catch (SoapFault $e) {
die('ERR: ' . $e->getMessage());
}Bu kodun içerisinde kisiDVO yu örneğin, nasıl gönderebilirim?
Biliyorum çok zahmet verdim size ama içinden çıkamadım bir türlü, çok teşekkürler şimdiden.
En son bu şekilde denedim ama bu sefer de kullanıcı adı doktor tckn eşleşmedi diyor. Sanırım kotaramıyorum bu işi, en iyisi bir bilene yaptırtmak gibi duruyor, siz ne dersiniz?
<?php
if ($_POST) {
$user_medula_username = trim(strip_tags($_POST['user_medula_username']));
$user_medula_password = trim(strip_tags($_POST['user_medula_password']));
$MEDULAtesisKodu = "11069903"; // ereçetenin yazıldığı tesis kodu - isg için sabit
$MEDULAtcKimlikNo = ""; // hastanın tckn
$MEDULAprovizyonTipi = "1"; // tablo 9e
$MEDULAreceteTarihi = date('d.m.Y'); // 01.01.2018 gibi
$MEDULAreceteTuru = "1"; // tablo 9a
$MEDULAreceteAltTuru = "1"; // tablo 9b
$MEDULAprotokolNo = "";
$MEDULAseriNo = "0";
$MEDULAdoktorTcKimlikNo = "99999999990";
$MEDULAdoktorBransKodu = "";
$MEDULAdoktorSertifikaKodu = "0"; // tablo 9d
$MEDULAdoktorAdi = "";
$MEDULAdoktorSoyadi = "";
$MEDULAadi = ""; // hastanın adı
$MEDULAsoyadi = ""; // hastanın soyadı
$MEDULAdogumTarihi = "01.01.1980"; // hastanın doğum tarihi - 01.01.1980 gibi
$MEDULAcinsiyeti = "E"; // hastanın cinsiyeti - E veya K
$MEDULAaciklamaTuru = "1"; // tablo 9h
$MEDULAaciklama = ""; // ereçete açıklaması
$MEDULAtaniKodu = ""; // ereçete tanı kodu
$MEDULAtaniAdi = ""; // ereçete tanı açıklaması
$MEDULAbarkod = "";
$MEDULAadet = "";
$MEDULAkullanimSekli = "1"; // tablo 9f
$MEDULAkullanimDoz1 = "1";
$MEDULAkullanimDoz2 = "1";
$MEDULAkullanimPeriyot = "2";
$MEDULAkullanimPeriyotBirimi = "3"; // tablo 9g
$MEDULAgeriOdemeKapsaminda = "E"; // E veya H olacak
$MEDULAilacAciklamaTuru = "1"; // tablo 9h
$MEDULAilacAciklama = ""; // ereçete açıklaması
if (empty($user_medula_username) || empty($user_medula_password)) {
$errormsg = "Boş Alan Bırakmayın!";
} else {
try {
$client = new SoapClient("https://sgkt.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>' . $user_medula_username . '</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/ws ms/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">' . $user_medula_password . '</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);
$gonderilecekXML = '
<xs:complexType name="ereceteDVO">
<xs:sequence>
<xs:element name="protokolNo" value="' . $MEDULAprotokolNo . '" type="xs:string"/>
<xs:element name="provizyonTipi" value="' . $MEDULAprovizyonTipi . '" type="xs:int"/>
<xs:element name="receteAltTuru" value="' . $MEDULAreceteAltTuru . '" type="xs:int"/>
<xs:element name="receteTarihi" value="' . $MEDULAreceteTarihi . '" type="xs:string"/>
<xs:element name="tcKimlikNo" value="' . $MEDULAtcKimlikNo . '" type="xs:string"/>
<xs:element name="tesisKodu" value="' . $MEDULAtesisKodu . '" type="xs:int"/>
<xs:element name="doktorBransKodu" value="' . $MEDULAdoktorBransKodu . '" type="xs:int"/>
<xs:element name="doktorSertifikaKodu" value="' . $MEDULAdoktorSertifikaKodu . '" type="xs:int"/>
<xs:element maxOccurs="unbounded" name="ereceteIlacListesi" type="tns:ereceteIlacDVO"/>
<xs:element maxOccurs="unbounded" name="ereceteTaniListesi" type="tns:ereceteTaniDVO"/>
<xs:element name="doktorTcKimlikNo" value="' . $MEDULAdoktorTcKimlikNo . '" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ereceteIlacDVO">
<xs:sequence>
<xs:element name="adet" value="' . $MEDULAadet . '" type="xs:int"/>
<xs:element name="barkod" value="' . $MEDULAbarkod . '" type="xs:long"/>
<xs:element name="kullanimDoz1" value="' . $MEDULAkullanimDoz1 . '" type="xs:int"/>
<xs:element name="kullanimPeriyotBirimi" value="' . $MEDULAkullanimPeriyotBirimi . '" type="xs:int"/>
<xs:element name="kullanimSekli" value="' . $MEDULAkullanimSekli . '" nillable="true" type="xs:int"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="ereceteIlacAciklamaListesi" nillable="true" type="tns:ereceteIlacAciklamaDVO"/>
<xs:element name="kullanimDoz2" value="' . $MEDULAkullanimDoz2 . '" type="xs:double"/>
<xs:element name="kullanimPeriyot" value="' . $MEDULAkullanimPeriyot . '" type="xs:int"/>
<xs:element minOccurs="0" name="geriOdemeKapsaminda" value="' . $MEDULAgeriOdemeKapsaminda . '" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ereceteIlacAciklamaDVO">
<xs:sequence>
<xs:element minOccurs="0" name="aciklama" value="' . $MEDULAaciklama . '" nillable="true" type="xs:string"/>
<xs:element name="aciklamaTuru" value="' . $MEDULAaciklamaTuru . '" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ereceteTaniDVO">
<xs:sequence>
<xs:element minOccurs="0" name="taniAdi" value="' . $MEDULAtaniAdi . '" nillable="true" type="xs:string"/>
<xs:element name="taniKodu" value="' . $MEDULAtaniKodu . '" type="xs:string"/>
</xs:sequence>
</xs:complexType>
';
$results = $client->ereceteGiris($gonderilecekXML);
print_r($results);
} catch (SoapFault $e) {
die('ERR: ' . $e->getMessage());
}
}
}