OHRwurmSearch API (alpha)

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

Beispiel: (PHP SOAP Anfrage)

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']>&& $_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>";
}

?>

DEMO 1

Dieses Demo zeigt die XML Anwort des Servers
Demo ausführen

DEMO 2

Dieses Demo zeigt das WSDL File des SOAP Servers
WSDL File anzeigen

DEMO 3

Demo 3 zeigt eine Möglichkeit, wie die SOAP Antwort mit einem XSL File in HTML umgewandelt werden kann. Demo ausführen

DEMO 4

Dieses Demo zeigt das Ergebnis einer Anfrage als Datenstruktur einer PHP Variablen
Demo ausführen