2012-07-26 58 views
2

我想在opencart中製作nusoap webservice。對此,我有下載的NuSOAP庫,並將它複製到系統/庫/ lib目錄,然後我已經創造了結賬模塊控制器類這樣opencart中的Webservice

<?php 
    class ControllerCheckoutCamero extends Controller { 
     public function index() { 
       //require_once('lib/nusoap.php'); 
       $this->load->library('lib/nusoap'); 


    // Create the server instance 
    $server = new soap_server(); 
    // Initialize WSDL support 
    $server->configureWSDL('hellowsdl', 'urn:hellowsdl'); 

    // Register the method to expose 
    $server->register('hello',    // method name 
     array('name' => 'xsd:string'),  // input parameters 
     array('return' => 'xsd:string'),  // output parameters 
     'urn:hellowsdl',      // namespace 
     'urn:hellowsdl#hello',    // soapaction 
     'rpc',        // style 
     'encoded',       // use 
     'Says hello to the caller'   // documentation 
    ); 
    // Define the method as a PHP function 
    function hello($name) { 
      return 'Hello, ' . $name; 
    } 
    // Use the request to (try to) invoke the service 
    $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ''; 
    $server->service($HTTP_RAW_POST_DATA);  



      } 
    } 
    ?> 

然後我已通過訪問檢查了我的控制器本地主機/ myopencart /的index.php?路徑=結賬/卡梅羅


,我得到的NuSOAP web服務的默認頁面是這樣enter image description here


但是,當我點擊WSDL鏈接上PAG e,我被重定向到opnecart主頁


我認爲opencart路由器出現這個問題,但我不知道如何處理它,我只是開始探索opencart。我發現了類似的問題here,但我沒有找到正確的答案。可以給任何人一些建議。在此先感謝

回答

0

我認爲你的代碼是正確的。 我嘗試它自己,如果你去到localhost/myopencart /的index.php?路徑=結賬/卡梅羅& WSDL

的NuSOAP代碼將使用PHP_SELF,因此不會把完整的URL爲您服務,它應該工作。另外,在對客戶端進行編碼時,使用$ client = new nusoap_client('http://localhost/myopencart/index.php?route = checkout/camero & wsdl',true);否則,使用$ client = new nusoap_client('http://localhost/myopencart/index.php?route = checkout/camero & wsdl',true); ...

希望這會有所幫助