1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
<?php
require_once("./nusoap-0.7.3/lib/nusoap.php");
$namespace = "http://localhost/SOAP/";
// create a new soap server
$server = new soap_server();
// configure our WSDL
$server->configureWSDL("SimpleService");
// set our namespace
$server->wsdl->schemaTargetNamespace = $namespace;
//===================================[ ResistorTest method ]=============================================================
/**
* ResistorTest method
* @param string : numprojet + numligne + n° de circuit + resistance
* @return array : numprojet + numligne + n° du prochain circuit + validation test (Continue / Error / Ok)
*/
function ResistorTest($projet, $ligne, $circuit, $resistance) {
// Valeur maxi de tores (circuits) trouvée dans mysql selon l'affaire et ligne:
$numcircuitmax=6;
// Formate le paramètre $circuit en $numcircuit pour rentrer dans les cas prévus (switch ci-dessous):
if ($circuit=='None' || $circuit=='') { // Si circuit pas renseigné, renvoie 0 pour sélectionner le 0+1 = 1er circuit à tester
$numcircuit='0';
} else { // Si circuit bien renseigné
$numcircuit=intval(substr($circuit,-1,1)); // repère le numéro du circuit (dernier caractère du param. $circuit)
if ( !is_numeric($numcircuit) ) { $numcircuit='Error'; } // Si le numéro du circuit n'est pas bien indiqué (et que ce n'est pas None)
else { // Si circuit bien renseigné et dernier caractère numérique
if ($numcircuit==$numcircuitmax){ $numcircuit='Ok'; } // Si Dernier Circuit à tester on renvoie 'Ok' qui signale l'aboutissement des tests.
}
}
// Retours de la fonction selon les numcircuits appelés
switch ($numcircuit) {
case "Error":
$atester= array('numprojet'=>$projet,'ligne'=>$ligne,'circuit'=>'none','testresult'=>'Error');
//$atester='none';
//$atester=serialize($atester);
return $atester;
break;
case "Ok":
$atester= array('numprojet'=>$projet,'ligne'=>$ligne,'circuit'=>'none','testresult'=>'Ok');
//$atester='none';
//$atester=serialize($atester);
return $atester;
break;
default:
$prochaincircuit=intval($numcircuit)+1;
//$atester=$projet."**".$ligne."**".'select'.$prochaincircuit."**".$prochaincircuit;
$atester= array('numprojet'=>$projet,'ligne'=>$ligne,'circuit'=>'select'.$prochaincircuit,'testresult'=>'Continue');
//$atester=serialize($atester);
return $atester;
break;
}
}
// register ResistorTest
$server->register(
// method name:
'ResistorTest',
// parameter list:
array('projet'=>'xsd:string','ligne'=>'xsd:string','circuit'=>'xsd:string','resistance'=>'xsd:float'),
// return value(s):
array('return'=>'SOAP-ENC:Array'),
//array('return'=>'xsd:string'),
// namespace:
$namespace,
// soapaction: (use default)
false,
// style: rpc or document
'rpc',
// use: encoded or literal
'encoded',
// description: documentation for the method
'');
// Get our posted data if the service is being consumed
// otherwise leave this data blank.
$POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])
? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
// pass our posted data (or nothing) to the soap service
$server->service($POST_DATA);
exit();
?> |
Partager