Dies ist ein Demo für die SOAP API vom OHRwurm. Die API befindet sich zZ noch in der Entwicklung. Auch ist zZ nur die Methode "doOHRwurmSeach" implementiert. Übergabe Parameter werden noch nicht berücksichtigt.
Um die API zu nutzen zu können, müssen sie sich anmelden
Das Beispiel "client.php" zeigt, wie mittels PHP eine SOAP Anfrage an den Server gestellt wird. Mit dem HTTP Parameter "demo" und den Werten "1", "2" oder "3" kann die Ausgabe des Demos verändert werden. Es folgt der Quellcode des Demos
<?php
#include_once 'config.php';
use_soap_error_handler(true);
$client = new SoapClient("OHRwurmSearch.wsdl",array('trace' =>1));
/**
* what this demo should do
**/
if (isset($_GET['demo']) && $_GET['demo']>0 && $_GET['demo']<4){
$demo=$_GET['demo'];
}else{
$demo=1;
}
/**
* query contains word to search for. Here we search for the word "test"
**/
if (isset($_GET['q'])){
$query=$_GET['q'];
}else{
$query="und";
}
/**
* unique key, which identifies the user. You can get a key by registering
* at: http://ohrwurm.net/register.php
**/
include "key.php";
/**
* search result starts at...
**/
if (isset($_GET['start'])){
$start=$_GET['start'];
}else{
$start="1";
}
/**
* limits the amount of hits per page
**/
if (isset($_GET['limit']) && $_GET['limit']>0){
$limit = (int) $_GET['limit'];
}else{
$limit=20;
}
/**
* limits the search to a certain company
**/
if (isset($_GET['tag'])){
$tag = $_GET['tag'];
}
try {
if (isset($tag)) $client->setFilter($key,'tag',$tag);
$result = $client->doOHRwurmSearch($key,$query,$start,$limit);
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_ERROR);
}
if ($demo==1){
header("Content-Type: text/xml");
print $client->__getLastResponse();
}elseif($demo==2){
header("Content-Type: text/xml");
readfile("OHRwurmSearch.wsdl");
}elseif($demo==3){
$xml = DOMDocument::loadXML($client->__getLastResponse());
$xsl = new DomDocument;
$xsl->load('result.xsl');
$proc = new xsltprocessor;
$proc->importStyleSheet($xsl);
header('Content-Type: text/html; charset=utf-8');
print $proc->transformToXML($xml);
}else{
print "<pre>";
print_r($result);
print "</pre>";
}
?>
Dieses Demo zeigt die XML Anwort des Servers
Demo ausführen
Dieses Demo zeigt das WSDL File des SOAP
Servers
WSDL File anzeigen