2011-07-11 97 views
1

我試圖讓我的web服務在symfony與NuSOAP。我還爲客戶做了測試。 我設法使它在我的/ web /目錄下工作,但是我無法從那裏訪問我的symfony方法。 因此,我在我的前端應用程序中創建了一個新模塊,並將我的nuSOAP服務器文件的內容複製到indexSuccess.php中。 當我嘗試使用它時,我得到了沒有錯誤,但也沒有結果,真正奇怪的是$ proxy-> response返回我的主頁。如何使NuSOAP與Symfony 1.4兼容?

這裏是我的indexSuccess.php的

require_once ("../lib/soap/nusoap.php"); 

$server = new soap_server(); 

$namespace = "Webservices"; 
$server->wsdl = new wsdl(); 
$server->wsdl->schemaTargetNamespace = $namespace; 

$server->configureWSDL("Webservices", "Webservices"); 

function getDemandes($partnerCode) 
{  

    $demandesArray = array(); 
    $demandeArray[] = array('id' => 5, 'poid_id' => 25, 'demande_type' => "Male"); 
    $demandeArray[] = array('id' => 8,'poid_id' => 21, 'demande_type' => "Female"); 

    return $demandeArray; 
} 

$server->register(
    'getDemandes', 
    array('partnerCode' => 'xsd:string'), 
    array('getDemandesResponse'=>'tns:ArrayOfDemandesDatas'), 
    $namespace, 
    false, 
    'rpc', 
    'encoded', 
    'Return requests' 
    ); 
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : ''; 
$server->service($POST_DATA); 
exit(); 

經過進一步的研究,我得到的錯誤Response not of type text/xml: text/html; charset=utf-8 whitch並不奇怪,因爲我已經在我的$request -> response默認佈局,即使我用$這個 - >禁用佈局(假);

+1

您好Korangar,因爲這是一個問答網站,請嘗試從您的問題中提取一個問題,並在您的標題中陳述這個問題。 你會對「Symfony 1.4和NuSOAP」這個問題給出什麼答案? – Zeemee

+0

你好,我已經閱讀了很久很久的stackoverflow,但這是我第一次自己發佈一個問題。感謝您的建議,我相應地更改了我的標題。 – Korangar

回答

0

也許你應該選擇一個更好地集成在Symfony中的選項。例如ckWebservicePlugin。這個插件與Symfony緊密集成,比使用NuSOAP更好。

+0

今天早上我做到了這一點,它似乎是一個很好的解決方案,但由於某種原因,當我嘗試通過一些參數他們是空的,我應該打開一個新的問答? – Korangar

+0

好吧,我找到了解決方案:這是因爲我的過濾器在filter.yml的末尾,我把它放在安全之後。 – Korangar