XWEB
XWEB( $wsdl , $name , N , $user , $pwd , $exp1 , ... , &$imp1 , ... )
XWEB implementiert einen einfachen Aufruf eines SOAP Web service $name wie in der WSDL Datei $wsdl beschrieben.
Ein einfacher Web service besteht nur aus atomaren Ein- und Ausgabefeldern und unterstützt keine komplexen Datentypen wie Tabellen oder Strukturen.
Die Felder $user und $pwd dienen der Authentifizierung mit Benutzer und Kennwort. Ist keine Authentifizierung notwendig, bleiben die Felder leer.
Ausgabe-Parameter $exp1, ... und Eingabe-Parameters &$imp1, ... können ergänzt werden. Eingabe-Parameter müssen dabei mit & beginnen. Sind mehrere Parameter notwendig, so muss die Reihenfolge der Parameter in der WSDL Datei eingehalten werden.
// -----------------------------------------------------
// remote SQL SELECT PRIMARY KEY
// -----------------------------------------------------
XGETSID( $sid , $role , $master , $sysloglevel , $syslogdays )
XGETAUTH( $usr , $pwd )
$wsdl = 'http://MASTER/websites/soap_db_server.php?wsdl=1';
$wsdl = str_replace('MASTER',$master,$wsdl);
$oper = 'SELECT';
$dbtab = 'fassdb,fassdbx';
$ibuf = $btyp;
$error = '';
$meta = '';
$obuf = '';
XWEB( $wsdl, 'RemoteSql', N, $usr, $pwd, $dbtab, $oper, $ibuf, &$error, &$meta, &$obuf )
XCHECKREPLY( $syserror , "<K022K $syserror;5>" )
XCHECKREPLY( $error , "<K022K $error;5>" )
list($btyp ,$bez,$tara,$sollv,$minv,$maxv,$dichte) = explode("\t",$obuf);
// -----------------------------------------------------
// remote SQL SELECT WHERE
// -----------------------------------------------------
$ibuf = "WHERE PARTNO = '$partno' AND QUANTITY = '$amount'";
$error = '';
$meta = '';
$obuf = '';
$open = 'LAST';
XWEB( $wsdl, 'RemoteSql', N, $usr, $pwd, $dbtab, $oper, $ibuf, &$error, &$meta, &$obuf )
XCHECKREPLY( $syserror , "<K022K $syserror;2>" )
// -----------------------------------------------------
// remote SQL INSERT
// -----------------------------------------------------
$sendflg = ' ';
$dbtab = 'fassbuch';
$oper = 'INSERT';
$error = '';
$meta = '';
$obuf = '';
$ibuf = '';
$ibuf .= $dattimb . "\t";
$ibuf .= $btyp . "\t";
$ibuf .= $brgew . "\t";
$ibuf .= $tara . "\t";
$ibuf .= $rest . "\t";
$ibuf .= $delta . "\t";
$ibuf .= $sendflg . "\t";
XWEB( $wsdl, 'RemoteSql', N, $usr, $pwd, $dbtab, $oper, $ibuf, &$error, &$meta, &$obuf )
XCHECKREPLY( $syserror , "<K022K $syserror;5>" )
XCHECKREPLY( $error , "<K022K $error;5>" )
// -----------------------------------------------------
// remote SQL EXEC
// -----------------------------------------------------
$oper = 'EXEC';
$dbtab = 'fassdb';
$ibuf = 'UPDATE fassdb SET bez = "Hallo" WHERE btyp = "20002";';
$error = '';
$meta = '';
$obuf = '';
XWEB( $wsdl, 'RemoteSql', N, $usr, $pwd, $dbtab, $oper, $ibuf, &$error, &$meta, &$obuf )
XCHECKREPLY( $syserror , "<K022K $syserror;5>" )
XCHECKREPLY( $error , "<K022K $error;5>" )
XCHECKREPLY
XGETAUTH
XGETSID
$syserror