php
  • xml
  • laravel
  • curl
  • soap
  • 2016-04-12 10 views 0 likes 
    0

    Laravelを使用してWebサービスにXML空きを送信しようとしていますが、Webサービスに接続して要求するデータ。Laravel&PHPを使用してSOAP Webサービスにデータを送信する方法

    私はカールを使用しようとしましたが、私は以下

    Error: "" - Code: 0

    助けとなるであろうもう一つの問題は次のようになり、私のコード

    $result // IS MY XML file 
    
    $username = 'username' 
    $password = 'password' 
    $URL = 'http://xxxxxx.com; 
    
    //setting the curl parameters. 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $URL); 
    curl_setopt($ch, CURLOPT_POST, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS,"xmlRequest=" . $result); 
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8'); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds 
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
    curl_exec($ch); 
    
    if(!curl_exec($ch)){ 
        die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch)); 
    } 
    
    curl_close($ch); 
    
    } 
    

    で取得しています - データを送信する別の方法はありますがCurlを使用することなくSOAP Webサービスに接続できますか?

    ありがとうございました

    答えて

    1

    はいあります。 SoapClient classを見てみましょう: あなたはこのようにそれを使用することができます:Laravelのためthisライブラリがあり

    $options = [ 
        'trace' => true, 
        'cache_wsdl' => WSDL_CACHE_NONE 
    ]; 
    
    $credentials = [ 
        'username' => 'username' 
        'password' => 'password' 
    ]; 
    
    $header = new SoapHeader($NAMESPACE, 'AuthentificationInfo', $credentials); 
    
    $client = new SoapClient($WSDL, $options); // null for non-wsdl mode 
    
    $client->__setSoapHeaders($header); 
    
    $params = [ 
        // Your parameters 
    ]; 
    
    $result = $client->GetResult($params); 
    // 'GetResult' being the name of the soap method 
    
    if (is_soap_fault($result)) { 
        error_log("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})"); 
    } 
    

    。私はそれを試し、その後自分のラッパーを書くことに終わった。

    +0

    私はlaravel-soapライブラリを使用しようとしましたが、** SOAP-ERROR:WSDLの解析: **というエラーが表示されています。このエラーの原因は何でしょうか? – jaahvicky

    関連する問題