Hallo Zusammen,
ich bin gerade dabei einen Webservice über PHP aufzubauen. Dazu benutze ich die Bibliothek "NuSOAP". Ich habe meine Aufrufe bisher mit einfachen Parametern und einfachen Rückgabewerten getestet. Soweit läuft auch alles prima.
Jetzt aber möchte ich binäre Daten zurückgeben, d.h. ich habe ein PDF in der Datenbank gespeichert (BLOB), möchte dieses laden und dann über den Webservicen an den Client zurückschicken. Der Aufbau ist der gleiche, als bei den simplen Rückgabewerten, nur funktioniert das hier nicht. Ich bekomme einfach gar nichts zurück. In der WSDL wird der Datentyp "xsd:base64Binary" verwendet. ich gehe mal davon aus, dass dieser korrekt ist?
An was könnte das liegen?
So sieht meine Funktion aus:
Viele Grüße
MS-Tech
ich bin gerade dabei einen Webservice über PHP aufzubauen. Dazu benutze ich die Bibliothek "NuSOAP". Ich habe meine Aufrufe bisher mit einfachen Parametern und einfachen Rückgabewerten getestet. Soweit läuft auch alles prima.
Jetzt aber möchte ich binäre Daten zurückgeben, d.h. ich habe ein PDF in der Datenbank gespeichert (BLOB), möchte dieses laden und dann über den Webservicen an den Client zurückschicken. Der Aufbau ist der gleiche, als bei den simplen Rückgabewerten, nur funktioniert das hier nicht. Ich bekomme einfach gar nichts zurück. In der WSDL wird der Datentyp "xsd:base64Binary" verwendet. ich gehe mal davon aus, dass dieser korrekt ist?
An was könnte das liegen?
So sieht meine Funktion aus:
PHP:
// function to get a file from the database
function get_file($id) {
include ('include/config.php');
include ('include/functions.php');
// Check the fileid
if (!blank($id)) {
// create the sql statement
$sql = "SELECT file FROM xyz where id = '".mysql_real_escape_string($id)."'";
// execute the statement
$result = mysql_query($sql);
// Processing of the result
$row = mysql_fetch_array($result);
// Return the value
return $row[0];
} else {
return new soap_fault('File','','No file id!');
}
}
Viele Grüße
MS-Tech