2011-03-02 165 views
2

不知道我的問題在這裏,但我需要一些指針。用PHP將nusoap發送到.NET webservice

這是將保險政策信息發送到web服務以獲取報價作爲回報的指南的一部分。哪裏需要更換'schema'和'xml'。

<soap:Body> 
    <Quote xmlns="http://[etc]/"> 
     <PolicyDetails> 
     <xsd:schema>schema</xsd:schema>xml</PolicyDetails> 
    </Quote> 
</soap:Body> 

我使用的NuSOAP(PHP SOAP擴展不是在服務器上,我不能安裝它們),我通常會發出類似:

$client->call('Quote', 'PolicyDetails' => $xml); 

但這不起作用。我得到的錯誤:

Error: soap:Server: Server was unable to process request. ---> Object reference not set to an instance of an object. 

我假設,因爲我錯過了「架構」的一部分。我知道XML應該是什麼樣子,但不是我必須添加到「模式」或我該怎麼做。任何人都可以將我指向正確的方向嗎?

回答

0

你知道你需要發送什麼變量嗎?

試試我的代碼,我在我的webserwice情況下使用:

<?php 
require_once("nusoap/lib/nusoap.php"); 

/* Initialize parameter */ 
$param = array(
    'PolicyDetails' => array(
     'variableName' => 'variable', 
     'variableName2' => 'variable2', 
    ), 
); 

/* create client */ 
$endpoint = "https://webserviceurl"; 
$mynamespace = ""; 

$client = new nusoap_client($endpoint, true); 
$err = $client->getError(); 
if ($err) { 
    exit(); 
} 

$response = $client->call('Quote', $param, $mynamespace); 
$err = $client->getError(); 
if ($err) { 
    exit(); 
} 

print_r($response); 

?> 
+0

是的,其實這就是我有什麼,但我得到的錯誤。我不知道我應該如何在這裏定義「模式」,或者如果nusoap以某種方式自動執行此操作。 – tamewhale 2011-03-02 11:01:40

+0

在這裏發佈所有變量這是什麼'引用'函數接收,我認爲你只需要正確地創建'$ param'數組來獲得成功 – 2011-03-02 11:06:35

+0

有很多。出於保密的原因,我認爲我不應該在這裏介紹他們。我請求了一個來自Web服務開發人員的有效響應示例,以瞭解它與我所生成的內容的對比情況。 – tamewhale 2011-03-02 14:14:23

相關問題