Beste Iedereen,
Ik ben nu enkele dagen bezig om een Soap API/Webservice op te zetten, maar vooralsnog zonder succes.
Het framework voor de website die ik gebruik is CodeIgniter, en voor soap gebruik ik NuSoap.
Dit is het stuk source van de Soap SERVER:
PHP Code:
class Api extends Globals{
public function __construct(){parent::__construct();
ini_set('soap.wsdl_cache_enabled', '0');ini_set('soap.wsdl_cache_ttl', '0');
$this->load->library("nuSoap_lib");
$server = new soap_server();$this->server = $server;$server->configureWSDL("My API", $this->http . $this->site . '/api/');$server->schemaTargetNamespace = $this->http . $this->site . '/api/';
$server->wsdl->addComplexType("user","complexType","struct","all","SOAP-ENC:struct",array( "user" => array("name" => "user", "type" => "xsd:struct")));
$server->register("gallery.auth",array( "api_key" => "xsd:string", "api_site" => "xsd:string"),array("return" => "xsd:boolean"),"urn:GalleryWSDL","urn:GalleryWSDL#set_auth","rpc","encoded","Authenticate your API keys");
$server->register("gallery.get_user",array(),array("return" => "tns:user"),"urn:GalleryWSDL","urn:GalleryWSDL#getUser","rpc","encoded","Returns the information of a certain member");
}
public function index(){
function auth($api_key,$api_site){return $this->check_auth($api_key,$api_site);}
function get_user(){$this->check_auth();
$user = array( 'field1' => 'value1', 'field2' => 'value2', 'field3' => 'value3');
return $user;}
function check_auth($api_key,$api_site){$return = $this->m_api->auth($api_key,$api_site);if ($return){ return true;}else{ return new soap_fault('Client', '', $api_key . ' = ' .$api_site . 'API keys can\'t be found','To get your API keys, go to xxx and go to your gallery settings.');}}
$this->server->service(file_get_contents("php://input"));
}
}
Dit is het stuk source van de CLIENT
PHP Code:
$soap = new SoapClient($this->http . $this->site . '/api?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE));
$auth = array('api_key' => 'kieyhier','api_site' => 'sitehier');
$access = $soap->__call('auth',$auth);if ($access){$user = $soap->__call('get_user',array());print_r($user);}
De Auth functie werkt, ik stuur data succesvol heen en weer.
De get_user functie is functioneel maar doet niet wat ik wil. De $user variabele die een array/object terug zou moeten krijgen, blijft helaas leeg, of geeft alleen het woord 'Array' terug.
Wie kan mij hier mee helpen?
- Soap API met NuSoap werkt niet zoals gewenst wijzigen
-
23-07-2014, 10:28 #1
- Berichten
- 482
- Lid sinds
- 15 Jaar
Soap API met NuSoap werkt niet zoals gewenst wijzigen
-
-
07-08-2014, 14:56 #2
- Berichten
- 205
- Lid sinds
- 16 Jaar
Re: Soap API met NuSoap werkt niet zoals gewenst wijzigen
Even een link met voorbeelden hoe je dingen moet doen ;), ik ga ervan uit dat je dit al gevonden hebt
http://www.magentocommerce.com/api/s...omer.info.html
Volgens mij vergeet je een ID mee te geven van de klant? Of wil je een hele lijst zien? Wat verwacht je te zien?
PHP Code:$client = new SoapClient('http://joudomein.nl/index.php/api/soap/?wsdl'); // If somestuff requires api authentification, // then get a session token $session = $client->login('apiUser', 'apiKey'); $result = $client->call($session, 'customer.info', '2'); var_dump($result); // If you don't need the session anymore //$client->endSession($session);
Hopelijk heb je hier iets aan, succes!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic