2013-12-13 38 views
0

我是soapClient以訪問Web服務,如下所示。使用肥皂時獲取java.lang.NullPointerException

$con = new SoapClient('wsdl url'); 
$array = array("apiRequestDetails" => array(
      "id" => "0000045399", 
      "mobile" => "9843484142", 
      "pin" => "b59c67bf196a4758191e42f76670ceba", 
      "refNumber" => "222", 
      "serviceCode" => "23", 
      "trxnTraceId" => "1", 
      "value" => "200.068879335" 

    )); 
$det = $con->__call('initiatePayment', $array); 
    echo '<pre>'; 
    print_r($det); 

我獲得以下錯誤 致命錯誤:未捕獲的SOAPFault異常:[S:服務器]顯示java.lang.NullPointerException在d:\ XAMPP \ htdocs中\共享點\ connection.php:25 堆棧跟蹤:

0 d:\ XAMPP \ htdocs中\的SharePoint \ connection.php(25):SoapClient的 - > __呼叫( 'initiatePayment',陣列)

1 {主}

在d拋出:\ XAMPP \ htdocs中\ sharepoint \ connection.php 25行 任何人都可以告訴我這個錯誤是什麼,我該如何解決它。 在此先感謝

+0

調用'__call'直接_is DEPRECATED_,檢查我的答案,它包含一個指向該名男子頁 –

+0

沒有Java代碼在這裏,爲什麼java的標籤? – SpringLearner

+0

@JqueryLearner雖然我在這裏使用的PHP在web服務,我使用的是在java –

回答

1

這是一個未處理的異常。嘗試將其封裝在try/catch塊中以找出錯誤。 __call()也被棄用,您應該使用__soapCall()

try{ 
    $det = $con->__soapCall('initiatePayment', $array); 
    print_r($det); 
} catch(SoapFault $ex){ 
    echo $ex->getMessage(); 
} 
+0

我也試過了,它返回'java.lang.NullPointerException',我也試過__soapCall(),它也給出了同樣的錯誤'java .lang.NullPointerException' –

+0

'__call'不被棄用。調用_directly_已被棄用。對於常規的SOAP調用,'__call'方法仍在使用 –

+0

另外,閱讀'__soapCall'方法的文檔(在我的答案中的鏈接):它意味着在相當特定的情況下使用(非wsdl,未知的SOAP動作,不同的uri等等) –