Hi ich bastel gerade an einer Exception für meinen Webservice. Ich habe jetzt das Problem das er mir zwar die Fehlermessage anzeigt aber ich weiß nicht wo ich den Fehler code setzen kann.
Hier mal ein bisschen Code vielleicht sieht man das dann genauer.
In der HaushaltExceptionType stehen nochmal mehr details für die Fehlermeldung. Da habe ich jetzt momentan den Fehlercode eingetragen aber das kann ja doch nicht Sinn der Sache sein.
Das folgende zeigt mir dann PHP an wenn ich den Fehler abfange.
So oben sieht man ja jetzt die beiden Felder message und code. Wie kann ich diesen Code setzen?
Ich hoffe ihr könnt mir da helfen
MFG
Meckie
Hier mal ein bisschen Code vielleicht sieht man das dann genauer.
Code:
@WebFault(name="HaushaltException")
public class HaushaltException extends Exception{
private HaushaltExceptionType faultInfo;
public HaushaltException(String message,
HaushaltExceptionType faultInfo){
super(message);
this.faultInfo=faultInfo;
}
public HaushaltException(String message,
HaushaltExceptionType faultInfo,Throwable cause){
super(message,cause);
this.faultInfo=faultInfo;
}
public HaushaltExceptionType getFaultInfo(){
return this.faultInfo;
}
}
In der HaushaltExceptionType stehen nochmal mehr details für die Fehlermeldung. Da habe ich jetzt momentan den Fehlercode eingetragen aber das kann ja doch nicht Sinn der Sache sein.
Das folgende zeigt mir dann PHP an wenn ich den Fehler abfange.
PHP:
object(SoapFault)#7 (10) { ["message":protected]=> string(18) "Fehler xy"
["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0)
["file":protected]=> string(53) "D:\Java\Haushalt PHPClientSVN\includes\spielwiese.php"
["line":protected]=> int(153) ["trace":"Exception":private]=>
array(2) { [0]=> array(4) { ["function"]=> string(6) "__call" ["class"]=> string(10) "SoapClient"
["type"]=> string(2) "->" ["args"]=> array(2) { [0]=> string(17) "getWebserviceName"
[1]=> array(1) { [0]=> int(1) } } } [1]=> array(6)
{ ["file"]=> string(53) "D:\Java\Haushalt PHPClientSVN\includes\spielwiese.php"
["line"]=> int(153) ["function"]=> string(17) "getWebserviceName"
["class"]=> string(14) "NTLMSoapClient" ["type"]=> string(2) "->" ["args"]=>
array(1) { [0]=> int(1) } } } ["previous":"Exception":private]=> NULL
["faultstring"]=> string(18) "Fehler xy" ["faultcode"]=> string(8) "S:Server"
["detail"]=> object(stdClass)#12 (2) { ["HaushaltException"]=>
object(stdClass)#5 (1) { ["code"]=> string(6) "112321" } ["exception"]=>
object(stdClass)#13 (2) { ["message"]=> string(18) "Fehler xy" ["stackTrace"]=>
object(stdClass)#6 (1) { ["frame"]=> ........}
So oben sieht man ja jetzt die beiden Felder message und code. Wie kann ich diesen Code setzen?
Ich hoffe ihr könnt mir da helfen
MFG
Meckie