簡體   English   中英

SOAPClient錯誤:無法連接到PHP 7.0和Laravel上的主機

[英]SOAPClient Error: Could not connect to host on PHP 7.0 and Laravel

我在使用PHP 7.0的服務器上的Laravel應用程序上通過SOAPClient連接到WSDL時遇到問題。 我已經使用PHP 5.6在本地服務器上測試了以下代碼,並且可以正常工作。 兩者都運行Linux。 我的本地服務器正在運行Kubuntu,另一台服務器正在運行CentOS 7。

var $client;

function __construct(){
    ini_set('soap.wsdl_cache_enabled',WSDL_CACHE_NONE);
    ini_set('soap.wsdl_cache_ttl', 0);

    $this->client = new SoapClient(env('WSDL_SOLMAN02_TEST'),
        ['login'=>env('SOLMAN_US_TEST'),
         'password'=>env('SOLMAN_PSSWD_TEST'),
         'cache_wsdl' => WSDL_CACHE_NONE,
         'soap_version' => SOAP_1_1,
         'ssl_method' => 'SOAP_SSL_METHOD_SSLv3',
         'trace' => true,
         'exception' => false,
         'stream_context'=> stream_context_create(array(
            'ssl'=> array(
                    'verify_peer'=>false,
                    'verify_peer_name'=>false
                )
            ))
        ]
    );

}
public function updateTicket(Ticket $ticket){

    $incident = $this->createTicketObject($ticket);
    $params = get_object_vars($incident);

    return $this->client->wsdlFunc($params);
}

有趣的是,當我打印dd($this->client->__getFunctions()); WSDL會以您可以調用的所有函數的數組作為響應,但是當我實際調用任何函數時,都會顯示錯誤。

我已經嘗試了幾乎所有內容,從更改連接中的每個參數到更改php.ini,但沒有任何效果。 我已將服務器降級到PHP 5.6,但仍然無法正常工作。

我還對SOAPUI上的WSDL進行了測試,並且可以正常工作。

我發現這兩種環境之間的唯一區別是,裝有PHP 7.0的服務器具有https。

我的代碼很好,我只需要將WSDL ip地址添加到/ etc / hosts。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM