1
我正在開發一個使用zend_soap_server
的肥皂webservice。 我使用Zend_Soap_AutoDiscover
來自動生成我的web服務的wsdl。zend_soap_server UTF-8編碼不起作用
下面是代碼
public function indexAction() { // my websrvice method $server = new Zend_Soap_Server("admin/webservice/wsdl"); $server->setEncoding('UTF-8'); $server->setClass('Webservice'); $server->handle(); } public function wsdlAction() { // my wsdl method $wsdl = new Zend_Soap_AutoDiscover(); $wsdl->setClass('Webservice'); $wsdl->setUri("/admin/webservice"); $wsdl->handle(); }
我的問題是,當我觀看產生的WSDL的源極的第一行是:
<?xml version="1.0"?>
但我想的編碼在xml標籤:
<?xml version="1.0" encoding="UTF-8"?>
我該怎麼做才能得到這個?
Thx提前。
您使用的是PHP和Zend Framework的哪個版本?我問的原因是因爲我在沒有調用'setMethod()'的情況下嘗試了一個簡單的測試,並且默認情況下我獲得了編碼屬性。我運行PHP 5.3.8和ZF 1.12。 PHP版本可能很重要的原因是因爲'Zend_Soap'和它的兄弟姐妹基本上只是PHP本地SOAP類的包裝。 – JamesG
我使用PHP 5.4.13和ZF 1.12 –
哦,我剛剛意識到我沒有看WSDL輸出,我正在查看請求和響應XML,它們都包含編碼。我有一個新的想法,我將爲您的問題添加一個潛在的答案。 – JamesG