BlinkenArea - GitList
Repositories
Blog
Wiki
flaneth
Code
Commits
Branches
Tags
Search
Tree:
e8658d5
Branches
Tags
master
flaneth
firmware.dartboard
soap
server.php
initial commit after making CF identify work
Stefan Schuermans
commited
e8658d5
at 2012-04-15 19:57:57
server.php
Blame
History
Raw
<?php include("nb_easyxml_lite.php"); include("nb_soapfuncs.php"); /********* Data structures used by this web service ********* * * type GetHitResult{ * ['factor']=>{ * } * ['value']=>{ * } * } * */ class service extends service_nbSOAP { var $Url; /** * web service provider method GetHit * * @param timeout : unsigned * @return GetHitResult */ function GetHit($timeout) { return new nbSOAPFault("unimplemented", "The GetHitservice has not been implemented yet", ""); // Fill in web method fuctionality here. // return a GetHitResult } } /********************* Do not alter the generated code below ************************/ if($_SERVER['REQUEST_METHOD']=="GET") { echo "information call, front page, WSDL or function info. "; echo "All this functionality still has to be written..."; } else { $in = file_get_contents("php://input"); $action = $_SERVER['HTTP_SOAPACTION']; $action = str_replace("\\\"","",$action); $SoapClass = new service(); $soapXML = $SoapClass->PerformSoapAction($in, $action); $soapXML = nbSOAP_Envelope($soapXML); header("Content-Type: text/xml; charset=utf-8"); echo $soapXML; } class service_nbSOAP //extends nbSOAP { function PerformSoapAction($in, $action) { $xml = nb_easyxmldoc($in); $body = $xml->findElement("Body", 0, "http://schemas.xmlsoap.org/soap/envelope/"); if($body == false) return "<soap:Fault><faultstring>SOAP body not found</faultstring></soap:Fault>"; $params = $xml->findChildElement($body); switch($action) { case "http://localhost:8080/dart/GetHit": // deserialize parameters $pidx = $xml->findChildElement($params, "timeout"); if($pidx != false) $p_timeout = $this->desoap_unsigned($xml, $pidx, "timeout"); else $p_timeout = null; // call the method $res = $this->GetHit($p_timeout); if(is_a($res,"nbSOAPFault")) { return "<soap:Body>\n" . $res->soapify() . "</soap:Body>"; } // serialize the result $soapXML = $this->soapify_GetHitResult($res, "GetHit"); $soapXML = "<GetHitResponse xmlns=\"http://localhost:8080/dart\">" . $soapXML; $soapXML .= "</GetHitResponse>"; return "<soap:Body>\n" . $soapXML . "</soap:Body>"; break; default: return "<soap:Fault><faultstring>Unrecognised SOAP action called.</faultstring></soap:Fault>"; break; } } } ?>