tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
10308
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    hi,

    wenn ich meinen Client ausführe und eine Ausgabe darstellen will, kriege ich hier einen Fehler: Warum kann so ein Fehler hier auftreten..? Kennt jemand das Problem und könnte eventuell helfen...? DANKE
    Code java:
    1
    
    resp = stub.Transaction(request);


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    org.apache.axis2.AxisFault: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
        at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
        at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
        at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
        at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
        at meinpackage.ServiceStub.Transaction(ServiceStub.java:2072)
        at meinpackage.Client.main(Client.java:30)
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    catch doch mal die RuntimeException, besorg dir mit getCause() die InvocationTargetException und schau dann dort mit getTargetException() nach, was eigentlich passiert ist...

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    das komische bei dem ganzen ist, wenn ich Datentypen nur von "VARCHAR2" und "NUMBER" zurückgebe als Antwort an den Client, ist alles okay, d.h. eine Ausgabe wird vollzogen.

    Jedoch muss als Datentyp eine Rückgabe von "DATE" sowie "TIMESTAMP" mit hinein implementiert werden und wenn das der Fall ist, wird keine Ausgabe erzeugt sondern diese Fehlermeldung ausgegeben.
    Haben diese beiden Datentypen etwas speziell an sich, dass eine Rückgabe mit Problemen nicht so leicht realisierbar ist..?

    Tom erstmal danke für die Hilfe, aber wo sollte den die catch hinzugefügt werden im Service...?!
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    das komische bei dem ganzen ist, wenn ich Datentypen nur von "VARCHAR2" und "NUMBER" zurückgebe als Antwort an den Client, ist alles okay, d.h. eine Ausgabe wird vollzogen.
    Jedoch muss als Datentyp eine Rückgabe von "DATE" sowie "TIMESTAMP" mit hinein implementiert werden und wenn das der Fall ist, wird keine Ausgabe erzeugt sondern diese Fehlermeldung ausgegeben.
    Haben diese beiden Datentypen etwas speziell an sich, dass eine Rückgabe mit Problemen nicht so leicht realisierbar ist..?
    Vollkommen ohne Kontext hilft diese Info herzlich wenig...

    ich hab nicht gesagt das du das im Service machen sollst... die RuntimeException bzw. InvocationTargetException bekommst du doch auf dem Client (dem Stacktrace nach zu schließen) und da in der dortigen TargetException wohl eine genauere Fehlermeldung steht hilft die ungemein bei der Fehlersuche...

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    mmh okay habe den ersten catch so realisert:
    Code :
    1
    2
    3
    4
    
    catch (RuntimeException e) {
                // TODO Auto-generated catch block
                e.getCause();
            }
    nur wie kann ich denn rest implementieren, denn du aufgeschrieben hast...?
     

  6. #6
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    schau mal hier:
    Code java:
    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
    
    /**
     * 
     */
    package de.tutorials;
     
    import java.io.IOException;
    import java.lang.reflect.InvocationTargetException;
     
    /**
     * @author Thomas.Darimont
     * 
     */
    public class ExceptionExtractionExample {
        public static void main(String[] args) {
            try{
                someBusinessOperation();
            }catch(RuntimeException runtimeException){
                Throwable cause = runtimeException.getCause();
                if(cause instanceof InvocationTargetException){
                    Throwable targetException = ((InvocationTargetException)cause).getTargetException();
                    targetException.printStackTrace();
                }
            }
            
        }
     
        private static void someBusinessOperation() {
            throw new RuntimeException(new InvocationTargetException(new IOException("Bubu")));
        }
    }

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  7. #7
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    ich habe das mal soeben versucht so zu realisieren doch eine genauere Fehlermeldung kriege ich jetzt nicht ausgegeben...
     

  8. #8
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    Ich wollte mal nun als Datentyp "VARCHAR2", "NUMBER" und "DATE" ausgeben lassen doch nun habe ich festgestellt, dass wenn ich diese Methode
    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
        private Date gebDatum = null;
    private static final SimpleDateFormat DATEFORMAT = new SimpleDateFormat("dd.MM.yyyy");
     
        public Date getGebDatum() {
            return gebDatum;
        }
        public void setGebDatum(Date gebDatum) {
     
            this.gebDatum = gebDatum;
        }
        
    // wenn das eingefügt wird kommt die Fehlermeldung
        public String getGebDatumAsString(){ 
            return DATEFORMAT.format(gebDatum); 
        }


    in meine Java Bean Klasse einfüge kommt diese oben beschriebene Fehlermeldung, was ist der Grund dafür...?! Ist die Methode falsch implementiert wurden?
    Geändert von fenerli23 (21.01.08 um 14:27 Uhr)
     

  9. #9
    Avatar von procurve
    procurve procurve ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    158
    DATEFORMAT ist eine static Variable innerhalb deiner Klasse.

    Entweder machst du sie non-static oder du machst sie public static und setzt beim Aufruf vor DATEFORMAT noch den Klassennamen:

    Code java:
    1
    
    return Klassenname.DATEFORMAT.format(gebDatum);
     

  10. #10
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    das hier nützt nichts... zeig mal den kompletten Stacktrace mit Ausgabe der TargetException der ITE.

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  11. #11
    fenerli23 fenerli23 ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    176
    das klappt nicht habe das soeben ausprobiert...

    Zitat Zitat von procurve Beitrag anzeigen
    DATEFORMAT ist eine static Variable innerhalb deiner Klasse.

    Entweder machst du sie non-static oder du machst sie public static und setzt beim Aufruf vor DATEFORMAT noch den Klassennamen:

    Code java:
    1
    
    return Klassenname.DATEFORMAT.format(gebDatum);
     

Ähnliche Themen

  1. java.lang.OutOfMemoryError: Java heap space
    Von MopsdeBops im Forum Java
    Antworten: 2
    Letzter Beitrag: 09.12.08, 09:33
  2. Antworten: 12
    Letzter Beitrag: 24.09.08, 13:16
  3. [Java] java.lang.NullPointerException
    Von VBKenner im Forum Java
    Antworten: 6
    Letzter Beitrag: 11.08.05, 14:29
  4. Antworten: 2
    Letzter Beitrag: 28.09.04, 10:02
  5. TextArea: java.lang.ClassCastException: java.awt.Frame
    Von tefla im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 10.06.03, 15:20