• 08-01-2020, 01:24:00
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    soap ile bir veri göndermeye çalışıyorum. normalde boş iken veri yok hatası vermesi gerekiyor. curlopt kısımlarında sanırım bir hata yaptım sürekli başka hatalar veriyor. bilgisi olan varsa yardımınızı bekliyorum

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors',0);
    
    $curl = curl_init();
    
    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://wsdllinki.asmx?WSDL",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n <soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <soap:Body>\n  <valueAdı xmlns=\"actionlinki/\">\n <xml>burayastring geliyor</xml>\n  </valueAdı>\n  </soap:Body>\n  </soap:Envelope>",
        CURLOPT_HEADER=> true,
        CURLOPT_HTTPHEADER => array(
          "Content-Length:2000",
          "Content-Type: text/xml; charset=utf-8",
          "Host: hostadresi.com",  
          "SOAPAction: http://actionadresi/valueAdi",
        ),
      ));
    
    $response = curl_exec($curl);
    $err = curl_error($curl);
    
    curl_close($curl);
    
    if ($err) {
       echo "hata";
    } else {
        echo "başarılı";
    }
    ?>
  • 09-01-2020, 01:19:55
    #2
    Alttaki örnek kod bloğu ile deneyebilirmisin

    // wsdl cache 'ini devre disi birak
    ini_set("soap.wsdl_cache_enabled", "0");
     
    try {
     
      // SOAPClient nesnesi olustur
      $client = new SoapClient("[URL]http://ws.mustafakirimli.com/rpc/productsService.php?wsdl[/URL]");
     
      // SOAPClient uzerinden karsi sunucudaki getAllNotebooks metodunu cagir
      $notebooks = $client->getAllNotebooks();
     
      echo "Metod basarili bir sekilde calistirildi.<br/>Sonuc asagidadir.<br/>";
     
      echo  "<pre>";
      // Sonucu ekrana bas
      var_dump($notebooks);
      echo  "</pre>";
    } catch (Exception $exc) { // Hata olusursa yakala
      echo "Soap Hatasi Olustu: " . $exc->getMessage();
    }