簡體   English   中英

cakephp 網絡服務

[英]cakephp webservice

我在使用 cakephp 創建網絡服務時遇到問題。 這就是我創建這個網絡服務所做的。 為此,我使用 NuSOAP - PHP 的 Web 服務工具包。 我創建了一個名為 WsController 的控制器並在其上導入庫。

class WsController extends AppController{

var $uses = array();

function info()  {
    $this->layout= null;
    $ns="http://www.techvoicellc.com/Tutorials//"; 
    $server = new soap_server(); 


    $server->configureWSDL('mostafa',$ns); 
    $server->wsdl->schemaTargetNamespace=$ns; 
    $server->wsdl->addComplexType('ArrayOfstring','complexType', 
    'array','','SOAP-ENC:Array',array()
    ,array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'string[]')), 
    'xsd:string'); 


    $server->register('sum', 
    array('x' => 'xsd:integer','y' => 'xsd:integer'),        
    array('z' => 'xsd:integer'),   
    $ns,                                           
    "$ns#sum",                               
    'rpc',                                        
    'encoded',                                    
    'documentation'     // documentation 
    );  

    $server->service($HTTP_RAW_POST_DATA); 
}

 function sum($x,$y){ 
    $z=$x+$y;
    return new soapval('return','xsd:integer',$z);
 } 

}

我在這樣的控制器操作中創建了 clint

function index() {
   $wsdl = 'http://localhost/asd/ws/info?wsdl';
   $client = new nusoap_client ( $wsdl, true );

   $this->client = new nusoap_client($wsdl, true);
   $param1 = array ('x' => 2, 'y' => 1 );
   $a = $client->call ( 'sum', $param1 );
    echo $a;
 }

盡管我在非蛋糕項目中創建了它並且它的工作非常好,但它沒有任何作用

希望有人告訴我在 cake php 中創建網絡服務的最佳實踐是什么

在 CakePHP 中開發 Web 服務非常容易 我已經做過好幾次了。 檢查以下步驟。

class MyWebServicesController  extends AppController {
    var $name = 'MyWebServices';
    var $layout = "ajax";

    function index() {
        $server = new SoapServer(null);
        $server->setObject($this);
        $server->handle();
        exit(0);
    }
    public function addNumbers($a,$b) {
        return $a+$b
    }
}

現在您的 Web 服務托管在http://webroot/MyWebServices現在您可以像下面這樣調用 addNumbers。

$client = new SoapClient(null, array('location' => "http://webroot/MyWebServices");
$sum = $client->addNumbers(1+2);

最好創建寧靜的 Web 服務。 CakePHP 為 REST 內置了一切。 您所要做的就是啟用它並創建 json/xml 視圖。

這是您起點的鏈接: http : //book.cakephp.org/2.0/en/development/rest.html

您是否需要 SOAP Web 服務?

  1. 創建和測試 SOAP Web 服務會困難得多
  2. SOAP 將需要外部庫
  3. 用戶將更難使用 SOAP Web 服務

您是否一直在以合理的價格尋找適合您企業的最佳CakePHP開發服務 不用再看了,因為PSD轉換是該領域中最好的。 我們在這項技術上擁有多年的經驗,能夠提供無縫工作的有效解決方案。 我們提供一流的CakePHP開發服務和卓越的客戶支持。 了解更多關於我們的信息,請訪問我們的官方網站。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM