cakephp Webcoder

3 Cevap php

I have problem in creating web-service using cakephp . this what i do to create this web-service . I use NuSOAP - Web Services Toolkit for PHP for this. I create a controller called WsController and import the library on it.

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);
 } 

}

ve ben böyle denetleyici eylem clint oluşturmak

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;
 }

i çok iyi olmayan kek proje ve çalışmalarını bu oluşturduğunuz rağmen herhangi incelir yapmayın

Bazı biri ne pasta php web hizmeti oluşturmak için en iyi uygulama olduğunu söyle umut

3 Cevap

Bu oldukça Easy to develop web services in CakePHP. Ben bunu birkaç kez yaptım. Aşağıdaki adımları kontrol edin.

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
    }
}

Now your web service is hosted at http://webroot/MyWebServices Now you can call addNumbers like below.

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

Bu sığınakta web hizmeti oluşturmak için en iyisidir. CakePHP REST inşa her şeye sahiptir. Yapmanız gereken tüm etkinleştirmek ve json / xml görünümlerini oluşturmak olduğunu.

İşte başlangıç ​​noktası ile bir bağlantı: http://book.cakephp.org/2.0/en/development/rest.html

SOAP web hizmeti istediğiniz bir nedeni var mı?

  1. Bu oluşturmak için çok daha zor olacak ve test SOAP web hizmeti olacak
  2. SABUN harici kütüphaneleri gerektirir
  3. Kullanıcıların SOAP web hizmeti kullanmak için zor olacak