• 28-12-2019, 09:44:29
    #1
    Merhabalar dostlar, son düzenlemeye göre taşımacılık yapan firmaların yük bildirimleri yapılması zorunlu hale gelmiş bulunmakta.

    Bu yük bildirimleri ise soap ile yapılıyormuş lakin soap hakkında çok bilgim yok.

    https://uetds.uab.gov.tr/uploads/pag...umani-v1-7.pdf

    belirtmiş olduğum dökümanda gerekli bilgiler var fakat ben bu sistemi php de kullanamıyorum kullaniciAdi ve sifre stringlerini postlattığımda hata alıyorum yardımcı olabilecekbir arkadaş var mıdır?

    Şimdiden teşekkürler.
  • 28-12-2019, 09:47:33
    #2
    Aldığınız hata da nerde yanlış yapıldığını yazar hocam.
    Kodlarınızı ve aldığınız hatayı paylaşmış olsaydınız daha rahat yorum yapabilirdik.
  • 28-12-2019, 09:57:01
    #3
    Haklısınız hocam, test ortamında SoapUI programı ile test yaptığımda başarılı sonuç alıyorum lakin orada kullanıcı adı ve şifre ekleme olayı var ve ben PHP'de bu kullanıcı adı ve şifreyi nasıl enjekte edeceğimi bilmiyorum. Yardımlarınız için şimdiden teşekkürler. Kodları aşağıya bırakıyorum.
    <?php
    $yazilim = new SoapClient("https://servis.turkiye.gov.tr/services/g2g/kdgm/test/uetdsesya?wsdl");
    $veriler = array(
    "testMsj" => "Test!"
    );
    $calisti = $yazilim->servisTest($veriler);
    
    try{
        if($calisti->servisTestResponse)
        {
            echo $calisti->servisTestResponse;
        }
    }
    catch(Exception $e)
    {
        echo $e->getMessage();
    }
    ?>
    Alınan Hata:
    Alıntı
    Fatal error: Uncaught SoapFault exception: [HTTP] Unauthorized in C:xampphtdocstest.php:5 Stack trace: #0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://servis....', '', 1, 0) #1 C:xampphtdocstest.php(5): SoapClient->__call('servisTest', Array) #2 {main} thrown in C:xampphtdocstest.php on line 5
  • 28-12-2019, 10:06:30
    #4
    dökümanı incelediğimde test kısmında user-pass durumu yok, siz sadece test yapıyorsunuz şu an, diğer kısımda bunları girebileceğiz variablelar olacaktır
    örneklerde göstermişler alt kısımda, tabi resim olarak eklemeler garabetine hiç girmiyorum.

    deneyimle bir kişiden ücretli hizmet alın kısa sürede çözmek için. zor bir durum yok.
  • 28-12-2019, 10:09:11
    #5
    Hocam, ücretli ücretsiz yardımcı olabilecek biri çıkar ise bana ulaşabilirse çok memnun olurum.

    Mesajlarınız için teşekkür ederim.
  • 28-12-2019, 21:32:05
    #6
    $options = array(
      'login' => '999999',
      'password' => '999999testtest'
    );
      
    $soap = new SoapClient("https://servis.turkiye.gov.tr/services/g2g/kdgm/test/uetdsesya?wsdl", $options);
    
    $veriler = array(
      "testMsj" => "Test!"
    );
    
    try{
       $result = $soap->__soapCall('servisTest', $veriler);
       echo $result->return;
    }
    catch(Exception $e)
    {
      echo $e->getMessage();
    }
    Test ortamı basic Auth ile çalışır. Bu yüzden wdsl 'i çekerken basic Auth header bilgileri tanımlanmalı. Direk SoapClient kullanarak yukarıda ki kodu çalıştırdım. Kendine uyarlayabilirsin.