簡體   English   中英

PHP的SOAP連接失敗

[英]SOAP Connection failure with PHP

我正在嘗試發出SOAP連接請求,但收到以下錯誤:

致命錯誤:SOAP錯誤:(錯誤代碼:HTTP,錯誤字符串:無法連接到主機)

我正在嘗試連接到客戶端的Web服務,他們需要將我們連接到的服務器的IP地址白名單(已設置)。 但是,通過第三個肥皂客戶端(例如SoapUI),它可以工作並給出成功的響應

這是我的代碼:

$client = new SoapClient("test.wsdl", array('exceptions' => 0));
$result = $client->SendXMLLead();
if (is_soap_fault($result)) {
    trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}

這是我們嘗試連接的鏈接:

https://hqwarranty.com/hqwarranty-soap.php

我使用以下內容:

    $client = new SoapClient("live.wsdl");

$params = array(
   'Leads' => '',
            'RecordSequence' => 12345,
            'Date' => '02/26/2016',
            'TimeOfDay' => '3:25:33 PM',  
            'LastName' => 'test',
            'FirstName' => 'test',
            'EmailAddress' => 'test@test.com',
            'PhoneNumber' => '111-111-1111',
            'Zip' => 94539,
            'CellCode' => 'DTCPPCDA3P',
            'ClientId' => 'DTCB',
            'LeadType' => 'EMAIL',
            'Username' => 'CrossCountryLeadLoad',
);
$response = $client->__soapCall("SendXMLLead", array($params));

/* Print webservice response */
var_dump($response);

更新:

Fatal error: Uncaught SoapFault exception: [soap:Server] Validation failed for: com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchema@59109eda errors: [ org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'ShortTextRequired'., Line : 9, Column : 26 org.xml.sax.SAXParseException: cvc-type.3.1.3: The value '' of element 'DateTime' is not valid., Line : 9, Column : 26 org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'ShortTextRequired'., Line : 10, Column : 28 org.xml.sax.SAXParseException: cvc-type.3.1.3: The value '' of element 'FirstName' is not valid., Line : 10, Column : 28 org.xml.sax.SAXParseException: cvc-minLength-valid: Value '' with length = '0' is not facet-valid with respect to minLength '1' for type 'ShortTextRequired'., Line : 11, Column : 26 org.xml.sax.SAXParseException: cvc-type.3.1.3: The value '' of element 'LastName' is not val in

檢查客戶端定義。 驗證失敗通常與

肥皂版本不匹配(服務是否期望1.1,而您正在發送1.2?);

"soap_version"=>SOAP_1_1

或請求消息結構中的問題,請使用try / catch詳細說明您的嘗試;

try {
        $response = $soapClient->__soapCall('SendXMLLead', array('parameters' => $inputParams));
    } catch (SoapFault $fault) {
        echo "<pre>\n -- fault -- \n";
        var_dump($fault);
        echo "\n -- fault code/string --\n";
        echo "SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})";
        echo "\n -- request --\n";
        echo "REQUEST:\n" . htmlentities($soapClient->__getLastRequest()) . "\n";
        echo "\n -- response --\n";
        echo "Response:\n" . $soapClient->__getLastResponse() . "\n";
        echo "\n</pre>";
    }

這將為您提供所有消息語法,以便您可以與服務進行比較並檢查結構,元素名稱等是否存在任何錯誤...

暫無
暫無

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

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