AXIS: Eigene Exceptions an Client übertragen

Status
Nicht offen für weitere Antworten.

mycue1981

Mitglied
Hallo Leute!

Bei AXIS werden Serverseitige Exceptions immer in einem AxisFault verpackt. Dieser AxisFault kann auf der client Seite nur noch eine nachricht ausgeben. Ich möchte aber statt die nachricht anzuzeigen auf verschiedene Exceptions reagieren.
Ich würde gerne statt catch AxisFault eine ResultCountException abfangen.(code siehe unten) Weiss jemand wie das geht?


Der Client Code ist:

Code:
try 
{
    AuftragsListe templiste = (AuftragsListe) call.invoke( {} );			
}
catch (AxisFault af)
{
    System.out.println(af.getMessage());
}

Auf der Server Seite:

Code:
public AuftragsListe getAuftraegeByStatusAndLiefertermin() throws ResultCountException
		{
		    ...Code....
                                    return liste;
		}

Die zugehörige ResultCountException klasse hat folgenden code:

Code:
public class ResultCountException extends Exception
{
	
	private int resultCount;
	
	public ResultCountException()
	{
		super ("Die Abfrage lieferte keine Ergebnisse zurück!");
		this.resultCount = 0;
	}

	public ResultCountException (int maxResults, int resultCount)
	{
		super ("Die Abfrage übersteigt die eingestellte Ergebnis-Höchstzahl"); 		                this.resultCount = resultCount;
	}
	
	public int getResultsCount()
	{
		return resultCount;
	}
}

Vielen Dank!
 

bellmann29

Aktives Mitglied
Hi,

schon mal überlegt von AxisFault abzuleiten? AxisFault ist nur eine Ableitung von RemoteException.

Andererseits kann man einem AxisFault erzeugen indem man die statische Methode "AxisFault.makeFault(Exception)"
benutzt.

Meine Empfehlung: sämtliche nicht RemoteExceptions vorher Abfangen und dann mit einer RemoteException Weiterleiten an den Client.



Code:
try{


    // irgendwas kann exception ausloesen

}catch(XYException e){
    throw new RemoteException(e.getMessage(), e);
}


auf der ClientSeite kann man dann dieses tun:

try{

    // aktivitäten auf server können RemoteExceptions werfen

}catch(RemoteException re){
    System.out.println(re.getCause().getMessage());
}

Viel Erfolg
 

djui

Mitglied
Hi!

Ich hab so ein ähnliches Problem.
Stimmt bei mir ein bestimmer WebService Parameter nicht, bekomme ich eine Message, die ich aber anscheinend nicht abfangen kann bzw. nicht weiß wie es funktioniert.

Beim Aufruf des WebService vom Client wird nähmlich keine Exception (AxisFault, RemoteException bzw. allg. Exception) ausgelöst. Wie kann ich jetzt aber auf diese Nachricht reagieren? Ich weiß nicht mal, wo die Nachricht "ausgelöst" wird.

Wie oben beschrieben, habe ich es probiert, ist aber sinnlos, weil irgendwie keine richtige Exception geworfen wird....

Irgendwelche Ideen?

Vielen Dank und liebe Grüße
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B TOMCAT AXIS : Probleme bei parallele Requests Server einrichten und konfigurieren 6
B Axis 2 SOAP Nachricht verdreht Server einrichten und konfigurieren 1
A Axis + WSS4J Server einrichten und konfigurieren 1
M AXIS Fehler bei WS-Security Server einrichten und konfigurieren 1
M ArrayStoreException mit Axis Server einrichten und konfigurieren 3
A AXIS Problem mit Packages beim WSDL-Aufruf Server einrichten und konfigurieren 2
I Axis mit Proxy verwenden - ich werde wahnsinnig ! HELP ! Server einrichten und konfigurieren 4
H Objekte mit Axis übertragen Server einrichten und konfigurieren 10
S Axis Webanwendung in Tomcat verfügbar machen Server einrichten und konfigurieren 2
K [Apache Axis v1.3] HTTP Basic Authentication Server einrichten und konfigurieren 1
B Web Service mit Axis Server einrichten und konfigurieren 3
K [Tomcat+Axis] SSL funktioniert nicht Server einrichten und konfigurieren 2
R axis läuft nicht Server einrichten und konfigurieren 2
G Axis Client: NoSuchMethodError Server einrichten und konfigurieren 2
A axis läuft nicht Server einrichten und konfigurieren 12
M Axis - No serializer found for class Server einrichten und konfigurieren 6
C Web Services mit axis Server einrichten und konfigurieren 6
Q Probleme mit Tomcat und Axis Server einrichten und konfigurieren 5
S Eigene E-Mail Adresse Server einrichten und konfigurieren 2
T WebLogic multiple Exceptions Server einrichten und konfigurieren 5

Ähnliche Java Themen

Neue Themen


Oben