# Datentyp "Calendar" umwandeln und ausgeben können



## JavaLearn (22. Jan 2008)

Hi, 

habe da ein Problem mit der Ausgabe von dem Datum in meiner Datenbank.
zur Zeit sieht es so aus:

```
private static final SimpleDateFormat DATEFORMAT = new SimpleDateFormat("dd.MM.yyyy");

if(resp.get_return()[j].getType().equals("DATE")) {    
    Calendar datum = resp.get_return()[k].getZeileDatum();    
    System.out.println(datum);            
        if(datum != null) {                
              datum.getTime();               
              System.out.format(format, DATEFORMAT.format(datum));            
         }
}
```

ich kriege leider, diese Fehlermeldung ausgegeben:

```
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
	at java.text.DateFormat.format(DateFormat.java:279)
	at java.text.Format.format(Format.java:133)
	at meinpackage.Client.main(Client.java:66)
```

Könnt ihr mir weiterhelfen ist wirklich dringend!!!


----------



## The_S (22. Jan 2008)

datum.getTime()


----------



## JavaLearn (22. Jan 2008)

ja das habe ich auch schon weg gemacht ist mir klar.. trotzdem ensteht keine Ausgabe


----------



## The_S (22. Jan 2008)

weg gemacht? Das sollst du hin machen ... anstelle von "datum"


----------



## SlaterB (22. Jan 2008)

warum schreibst du dann was von der Fehlermeldung..
warum dein Programm keine Ausgabe macht ist aus deinem Code nicht unbedingt zu erkennen..
fange immer ganz einfach an mit
System.out.println("dieser Code wird gerade ausgeführt");
..
..
..


----------



## The_S (22. Jan 2008)

@SlaterB doch doch, ist zu erkennen 

Anstelle von


```
System.out.format(format, DATEFORMAT.format(datum));
```

ein


```
System.out.println(DATEFORMAT.format(datum.getTime()));
```


----------



## JavaLearn (22. Jan 2008)

jep genau das war das problem, dank dir für deine Hilfe ...


----------



## JavaLearn (22. Jan 2008)

ich hätte nochmal eine Frage, wenn ich nun eine solche ausgabe realisieren will,

```
private static final SimpleDateFormat DATEFORMAT = new SimpleDateFormat("dd.MM.yyyy HH.mm.ss");
```

mit welchem Methoden aufruf geht das dann, denn mit 
	
	
	
	





```
get.Time()
```
 klappt das nicht mehr zumindest wird nicht die richtige Uhrzeit ausgegeben...?!

Ausgabe:

```
18.05.2007 00.00.00
```
  die Uhrzeit wurde nicht angegeben ...


----------



## The_S (22. Jan 2008)

Doch das klappt so. Dann wird in deinem Calendar-Objekt keine Uhrzeit stehen (bzw. 00:00:00).


----------



## JavaLearn (22. Jan 2008)

das Problem ist, das es eigentlich den Datentyp "Timestamp" bestitzt, jedoch wird diese rückgabe nicht vollzogen deswegen realisere ich das mit "Calender" ...? 

meinst du es gibt einen anderen weg der durchzuführen ist und dazu auch effektiver bzw. eine ausgabe anzeigt?!


----------



## The_S (22. Jan 2008)

"die Rückgabe wird nicht vollzogen"? Definier das mal n bisschen genauer


----------



## JavaLearn (22. Jan 2008)

also dies ist ein client/server programm das erstellt wird und mit dem Datentyp "TIMESTAMP" habe ich probleme denn wenn der mit hinein implementiert wird entseht eine fehlermeldung sowohl im service und im client.

Deswegen habe ich gedacht, dass ich das ganze mit dem Datentyp "DATE" umimplementiere und dann die ausgabe erfolgt.


----------



## The_S (22. Jan 2008)

Was denn für ein Fehler? Es wird halt auch nur das gespeichert was 

1.) In den Datentyp passt
2.) Du auch zum Speichern übergibst


----------



## JavaLearn (22. Jan 2008)

dieser fehler entsteht beim service:

```
[ERROR] 
org.apache.axis2.AxisFault
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxIOException: null
	at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteDefaultNs(BaseNsStreamWriter.java:542)
	at com.ctc.wstx.sw.SimpleNsStreamWriter.writeDefaultNamespace(SimpleNsStreamWriter.java:113)
	at com.ctc.wstx.sw.SimpleNsStreamWriter.writeNamespace(SimpleNsStreamWriter.java:121)
	at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeNamespace(MTOMXMLStreamWriter.java:151)
	at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:362)
	at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:172)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:780)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:237)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:225)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:421)
	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68)
	... 22 more
Caused by: ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
	at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
	at com.ctc.wstx.io.UTF8Writer.write(UTF8Writer.java:139)
	at com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1103)
	at com.ctc.wstx.sw.BufferingXmlWriter.fastWriteRaw(BufferingXmlWriter.java:1149)
	at com.ctc.wstx.sw.BufferingXmlWriter.writeAttribute(BufferingXmlWriter.java:874)
	at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteDefaultNs(BaseNsStreamWriter.java:540)
	... 42 more
Caused by: java.net.SocketException: Connection reset by peer: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
	at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:737)
	at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
	at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:761)
	at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
	at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
	at org.apache.coyote.Response.doWrite(Response.java:560)
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
	... 54 more
```

und dieser hier beim client:

```
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement time
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
	at mein.ServiceStub.fromOM(ServiceStub.java:18377)
	at mein.ServiceStub.VrsTransaction(ServiceStub.java:2092)
	at mein.Client.main(Client.java:36)
Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected subelement time
	at mein.ServiceStub$MLines$Factory.parse(ServiceStub.java:5107)
	at mein.ServiceStub$VrsTransactionResponse$Factory.parse(ServiceStub.java:9334)
	at mein.ServiceStub.fromOM(ServiceStub.java:18245)
	... 2 more
Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement time
	at mein.ServiceStub$MLines$Factory.parse(ServiceStub.java:5101)
	... 4 more
```


----------



## JavaLearn (22. Jan 2008)

meinst du man kann das nicht irgendwie convertieren und dann ausgeben ...


----------



## The_S (22. Jan 2008)

und der dazugehörige Code, der den Fehler verursacht?


----------



## JavaLearn (22. Jan 2008)

das ist eigentlich der abschnitt der probleme bereitet

```
if(columns[i-1].getType().equals("TIMESTAMP")){
	lines[l-1].setTime(rs.getTimestamp(i));	
}
```

in einer anderen Methode habe ich die getter und setter definiert etwa so:

```
private Timestamp time = null;

public Timestamp getTime() {
	return time;
}
public void setTime(Timestamp time) {
       this.time = time;
}
```


----------



## The_S (22. Jan 2008)

Naja, wenn im DATE nunmal nur Datum und keine Zeit drinsteht, dann kann man da auch nichts konvertieren. Oder wie stellst du dir das vor?

Wie die Fehlermeldung sagt, wird das "Subelement" "time" nicht an dieser Stelle erwartet. D. h. dein Parser baut mist, bzw. du übergibst deinem Parser müll.


----------



## JavaLearn (22. Jan 2008)

mmh okay das hört sich ja schon mal gar nicht gut an und was kann man dagegen machen gibt es für dieses Problem keinen erfolgreichen Ansatz..?


----------



## The_S (22. Jan 2008)

und wie sollen wir dir da helfen? Wir kennen weder deinen Parser, noch wie du ihn mit was aufrufst. Oder sonst irgendwelche relevanten Daten/Klassen. Du fütterst uns hier nur sehr zaghaft mit Informationen ...


----------



## JavaLearn (22. Jan 2008)

ok das programm ist so aufgebaut:

- zuerst wird ein statement aus einer xml- Konfigurationsdatei ausgelesen
- dieses Statement wird mit einem bestimmten parameter noch gesetzt
- danach geschieht das auslesen der Spaltennamen und Spaltentypen von der Tabelle
- zuletzt werden die Zeileninhalte zu den jeweiligen Typen hineingeschrieben 

-> das ganze wird als ArrayList implementiert und an den Client zurück gegeben.


```
public MLines[] Service(String id) {
		Connection conn = null;
		ResultSet rs = null;
		PreparedStatement pstmt = null;
		
		List<MLines> erg = new ArrayList<MLines>();
		String statement = "select1";
		MLines[] pArr = null;
		try {
			ApplicationContext appCtx = new ClassPathXmlApplicationContext(new String[] {"telekom/applicationContext.xml"});
			SqlStatements statm = (SqlStatements) appCtx.getBean(statement); 
			statement = statm.getStatement();
			Context initContext = new InitialContext();
	    	Context envContext  = (Context)initContext.lookup("java:/comp/env");
	    	DataSource ds = (DataSource)envContext.lookup("jdbc/XE");
	    	
	    	if(ds != null) {
	    		conn = ds.getConnection();
	    		pstmt = conn.prepareStatement(statement);
	    		pstmt.setString(1, id);
	    		
	    		rs = pstmt.executeQuery();
	    		ResultSetMetaData md = rs.getMetaData();
	    		//die nächsten drei Zeilen sind für die Ermittlung der Anzahl der Spalten vorhanden
	    		MLines zaehler = new MLines();
	    		zaehler.setZaehler(md.getColumnCount());
	    		erg.add(zaehler);
	    		
	    		MLines[] columns = new MLines[md.getColumnCount()];
	    		for(int i=1; i<=md.getColumnCount(); i++) {
	    			columns[i-1] = new MLines();
	    			columns[i-1].setName(md.getColumnName(i));
	    			columns[i-1].setType(md.getColumnTypeName(i));
	    			erg.add(columns[i-1]);
	    			System.out.println("Column(" + i + "): " + columns[i-1].getName() + " (" + columns[i-1].getType() + ")");
	    		}
	    		
	    		MLines[] lines = new MLines[2000];		//freihalten für die Zeileninhalte
	    		int l = 1, 
	    			k = 1; 
	    		while(rs.next()) {
	    			l = k;
	    			for(int i=1; i<=md.getColumnCount(); i++) {
	    				lines[l-1] = new MLines();
	    				if(columns[i-1].getType().equals("VARCHAR2")) {
	    					lines[l-1].setZeile(rs.getString(i));
	    				}
	    				if(columns[i-1].getType().equals("NUMBER")) {
	    					lines[l-1].setZeileNumber(rs.getDouble(i));
	    				}
	    				if(columns[i-1].getType().equals("TIMESTAMP")){
		        			lines[l-1].setTime(rs.getTimestamp(i));	
		        		}
		        		erg.add(lines[l-1]);
		        		System.out.println("Line(" + l + "): " + lines[l-1]);
		        		l++;
	    			}
	    			k = l;
	    		}
	    		pArr = new MLines[erg.size()];
	    		erg.toArray(pArr);
	    		
	    		conn.close();
	    		pstmt.close();
	    		rs.close();
	    	}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	return pArr;	
	}
```


----------



## The_S (22. Jan 2008)

und an welcher Stelle in deinem geposteten Code wird jetzt die Exception geworfen? Und was ist MLines?


----------



## JavaLearn (22. Jan 2008)

es ist so wenn ich diesen teil wekkommentiere

```
if(columns[i-1].getType().equals("TIMESTAMP")){
     	 lines[l-1].setGebDatum(rs.getDate(i));	
}
```


läuft alles wie gehabt, doch wenn der bestandteil der Methode ist, folgt diese Fehlermeldung

```
[ERROR] 
org.apache.axis2.AxisFault
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:72)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294)
	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
Caused by: com.ctc.wstx.exc.WstxIOException: null
	at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteAttr(BaseNsStreamWriter.java:494)
	at com.ctc.wstx.sw.SimpleNsStreamWriter.writeAttribute(SimpleNsStreamWriter.java:96)
	at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeAttribute(MTOMXMLStreamWriter.java:142)
	at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:415)
	at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeStartpart(OMSerializerUtil.java:172)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:780)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:237)
	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:225)
	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
	at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:421)
	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68)
	... 22 more
Caused by: ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
	at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:387)
	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
	at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
	at com.ctc.wstx.io.UTF8Writer.write(UTF8Writer.java:139)
	at com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1103)
	at com.ctc.wstx.sw.BufferingXmlWriter.fastWriteRaw(BufferingXmlWriter.java:1149)
	at com.ctc.wstx.sw.BufferingXmlWriter.writeAttribute(BufferingXmlWriter.java:911)
	at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteAttr(BaseNsStreamWriter.java:489)
	... 39 more
Caused by: java.net.SocketException: Connection reset by peer: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
	at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:737)
	at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
	at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:761)
	at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126)
	at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:570)
	at org.apache.coyote.Response.doWrite(Response.java:560)
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
	... 50 more
```


----------



## The_S (22. Jan 2008)

warum rufst du getDate() auf, wenn du einen Timestamp erwartest!?


----------



## JavaLearn (22. Jan 2008)

nee das ist falsch 

ich meinte das hier:

```
if(columns[i-1].getType().equals("TIMESTAMP")){ 
                       lines[l-1].setTime(rs.getTimestamp(i));    
                    }
```

das mit dem getDate habe ich nur so versucht ob das so vielleicht klappen würde...

wie gesagt wenn diese if anweisung wegfällt läuft alles ganz normal weiter...


----------



## The_S (22. Jan 2008)

Dann komm ich nochmal auf meine Frage von vorhin  zurück:



			
				Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Und was ist MLines?



Wie schaut die Klasse aus? Was macht diese Klasse? Und vorallem wie schaut die Methode aus, die diese Exception wirft!?


----------



## JavaLearn (22. Jan 2008)

so sieht die Methode MLines aus hier sind zu den einzelnen Datentypen die setter und getter implementiert worden, damit eine Rückgabe erstellt werden kann... Ist dcoh soweit ok ..?!


```
public class MLines {

	private String zeile = null;
	private Date gebDatum = null;
	private double zeileNumber = 0;
	private int zaehler = 0;				//zählt die Anzahl der Spaltennamen
	private Timestamp time = null;
	
	
	private String name=null;
	private String type=null;
	
	public String getZeile() {
		return zeile;
	}
	public void setZeile(String zeile) {
		this.zeile = zeile;
	}
	
	public double getZeileNumber() {
		return zeileNumber;
	}
	public void setZeileNumber(double zeileNumber) {
		this.zeileNumber = zeileNumber;
	}
	public Date getGebDatum() {
		return gebDatum;
	}
	public void setGebDatum(Date gebDatum) {

		this.gebDatum = gebDatum;
	}
	

	//damit das Objekt ausgegeben werden kann ...
	public String toString() {
		StringBuffer b = new StringBuffer();
		if(zeile!=null)        
			b.append(zeile);
		if(gebDatum!=null)
			b.append(gebDatum);
		if(zeileNumber!=0)
			b.append(zeileNumber); 	
		if(time!=null)
			b.append(time); 	
		return b.toString();
		
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	
	public int getZaehler() {
		return zaehler;
	}
	public void setZaehler(int zaehler) {
		this.zaehler = zaehler;
	}
	public Timestamp getTime() {
		return time;
	}
	public void setTime(Timestamp time) {
		this.time = time;
	}
}
```


----------



## JavaLearn (22. Jan 2008)

Irgendetwas ist mit den getter und setter von dem Timestamp nicht okay oder..?!


----------



## The_S (22. Jan 2008)

Dann kann es an dieser Stelle nicht liegen. Die Exception wird irgendwo anders geworfen. Les doch nochmal deine Fehlermeldung (Dort findest du auch Zeilen- und Klassenangabe wo der Fehler auftritt) und poste entsprechende Klasse/Methode/Zeile.

[edit] Nö, damit ist alles iO.


----------



## JavaLearn (22. Jan 2008)

das ist ja das Problem das wird nicht angezeigt, er gibt nur diesen ERROR zurück sonst nichts...

ich verstehe nicht, warum das ein problem sein kann dieser Datentyp "TIMESTAMP"... sonst kann ich doch alles so schon zurückgeben...


----------



## The_S (22. Jan 2008)

Wenn du mit den Fehlermeldungen nicht klar kommst, dann lass den Debugger mitlaufen, da siehst du ja dann, wo er wann rausfliegt.


----------



## JavaLearn (22. Jan 2008)

im client zeigt er hier drauf:

```
resp = stub.Service(request);
```

ausserdem noch im ServiceStub.java


aber im service an sich wird ein ERROR ausgegeben ... von apache axis2 etc....
zeigt auch nichts von einer stelle im code...


----------



## The_S (22. Jan 2008)

dann wird wohl in der Methode "Service(request)" der Klasse des Objekts "stub" der Fehler liegen.


----------



## JavaLearn (22. Jan 2008)

Ja aber diese Klasse wurde nicht von mir implementiert sondern die habe ich generieren lassen, ist komisch das dann dort etwas falsch ist. ..  :bahnhof:


----------



## The_S (22. Jan 2008)

die hast du also generieren lassen ... mit was hast du die denn generiert? Evtl. möchte sie ja etwas anderes übergeben haben und kommt mit deinem Datentyp nicht klar!?


----------



## JavaLearn (22. Jan 2008)

einfach auf den service, recht maustaste -> create webservice -> Client type bis Start Client hochziehen und finish ...

somit wird dann die klasse ServiceStub.java sowie ServiceCallbackHandler.java aufgerufen.


----------



## The_S (22. Jan 2008)

jaja, das war mir auch klar. Aber irgendwie drehen wir uns im Kreis. Evtl. hat ja jemand anderes seine Kristallkugel dabei und kann hellsehen was du für ein Problem hast. Ich jedenfalls nicht (zumindest nicht anhand der gegebenen Informationen).


----------

