UTFDataFormatException and StreamCorruptedException
We have an applet client that is communicating with a servlet in Apache Tomcat through HttpUrlConnection
using ObjectOutputStream / ObjectInputStream.
Everything has been working fine, but recently one of our users has had some serious problems
with the client-server communication. Basically this occurs so that client will throw
UTFDataFormatExceptions and StreamCorruptedExceptions to Java console. These exceptions are
thrown pretty randomly, for example sometimes 10 times in a row (out of 10 tries) and then
a few times with no errors and after that more exceptions and so on.
These exceptions are thrown when client is loading quite a big chunk of data from server.
According to server access-logs something between 1500000 and 2000000 bytes are transferred.
Server side logs show no errors.
JDK on server is 1.4.2_xx and client side Java plug-in is 1.5.0_xx. We have tried different
Java plug-in versions with no change.
Other users get those exceptions too when using this particular environment, but less frequently.
I've tried to debug the applet and the funny thing is, that when I'm running the applet through
my IDE (JBuilder) I get no exceptions.
ejp wrote:
What you're doing with all the extra buffering is pointless and error-prone. Get rid of the ByteArrayOutputStream and ByteArrayInputStream and connect the ObjectInputStream and ObjectOutputStream directly to the socket.Actually the reason for the extra buffering is due to the use of nio channels. I was basically following the advice from http://forum.java.sun.com/thread.jspa?threadID=449283&messageID=2040791 , i.e.,
dmbdmb wrote:
You could always call layer an ObjectOutputStream ontop of a ByteArrayOutputStream, write the objects, then grab the bytes from the ByteArrayOutputStream and write them with niobut unfortunately I still got the above exceptions using the scheme described. Are there other reliable ways to accomplish the same task?
Similar Messages
-
Sending data to a Servlet. EOFException and StreamCorruptedException.
Hi!
I have a small servlet that receives some text from a client, and returns a response. The problem is that when i try to receive the data in the servlet, I get and EOFException. And when the client tries to read the response, a StreamCorruptedException is thrown. Can anybody please point me in the right direction here?
The code for servlet is as follows:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DataInputStream in = new DataInputStream((InputStream) request.getInputStream());
String message;
String text = null;
try {
text = in.readUTF();//EOFException thrown here!
message = "100 ok";
} catch (Throwable t) {
message = "200 " + t.toString();
response.setContentType("text/html;charset=UTF-8");
response.setContentLength(message.length());
in.close();
PrintWriter out = response.getWriter();
out.println(message);
out.flush();
out.close();
System.out.println(". Received text: " + text == null ? "none" : text);
}And the code for the client:
@Test
public void test2() throws IOException, ClassNotFoundException {
String input = "This text is to be sent";
URL serverURL = new URL("http://localhost:8080/myURL");
URLConnection con = serverURL.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-Type", "application/x-java-serialized-object");
OutputStream outstream = con.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outstream);
oos.writeObject(input);
oos.flush();
oos.close();
InputStream instr = con.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(instr);//StreamCorruptedException thrown here ("invalid stream header")
String result = (String) inputFromServlet.readObject();
inputFromServlet.close();
instr.close();
System.out.println(result);
}The EOFException is thrown at the line text = in.readUTF(); in the servlet, and the StreamCorruptedException is thrown at ObjectInputStream inputFromServlet = new ObjectInputStream(instr); in the client. What is wrong here?
Edited by: Fush on Apr 15, 2008 6:59 AM
Edited by: Fush on Apr 15, 2008 7:00 AM
Edited by: Fush on Apr 15, 2008 7:03 AMYour server reads a UTF-encoded String with readUTF().
So your client should write a UTF-encoded String with writeUTF().
Your server writes lines with PrintWriter.println().
So your client should read lines with BufferedReader.readLine(). -
Saving and loading serialized objects (StreamCorruptedException)
Hello,
I am relatively new to Serialization (coming to that, a bit new to Java too) and I am having a problem with the following:
I am saving a number of serialized objects (all of the same class) in a file using the following way (the method is called multiple times to save a list of TeamMember objects):
Note: TeamMember is a custom class.
public void addTeamMember(TeamMember p) {
outputStream = new ObjectOutputStream( new FileOutputStream( "team.dat", true ) );
outputStream.writeObject( p );
outputStream.flush();
outputStream.close();
outputStream = null;
}Then I'm trying to retrieve the objects from the file and display them. The method used is the following (it will loop through the file until found or it throws an EOFException. Is using the EOFException good practice to search through the entire file?):
public TeamMember getTeamMember(String id) {
TeamMember currentMember = null;
try {
boolean found = false;
inputStream = new ObjectInputStream( new FileInputStream( "team.dat" ) );
while ( !found ) {
currentMember = (TeamMember)inputStream.readObject();
if ( currentMember.getId().equals( id ) )
found = true;
} // end while
closeInputFile();
return currentMember;
} // end try
catch ( EOFException e ) { // end of file reached
closeInputFile();
return null;
} // end catch
catch ( IOException e ) {
closeInputFile();
System.err.println( e.getMessage() );
return null;
} // end catch
}Now as a test, I am adding 3 members with IDs 1, 2 and 3 respectively. Then I am calling getTeamMember three times with the different IDs. With ID "1", it works fine. When I give it ID 2, it gives an IOException with message "StreamCorruptedException: invalid type code: AC".
While tracing the program, I've seen that it always gives me that error when reading past the first object saved in the file.
Am I saving the objects in a wrong way, or reading them is done incorrectly?
Any help is much appreciated.
I hope I was clear enough, and that I posted in the correct forum.
Thanks in advance.
Andrew.If that is so, might you hint me for a work around?
I want to append objects in a single file, then be able to find and read an object from the file.
Thanks again.
Andrew -
Weblogic 10.0 and Weblogic 8.1.5 - StreamCorruptedException
Is anyone else having any these issues? We are running one Weblogic 8.1.5 server using JSE 1.4. We are running another Weblogic 10.0 server using JSE 6. We host a 2.1 EJB on the WLS 8.1.5 server. We try to call the RemoteEJB from the WLS 10.0 server and get a StreamCorruptedException (can not marshall Weblogic class AuthenticatedUserImpl, or something like that). Pretty simple scenario. Is this a JSE problem? Is this a WLS problem?
Any input would be greatly appreciated! Thanks!
-Gregory<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by hennaux ():
Hi
I have a probleme with OEM (2.1.0 on NT simple client) and Oracle 8i (8.1.5 on RedHat Linux 6.0 the server)
My Agent run with no probleme and when I search this agent via my Enterprise Manager Console I have no probleme (the agent is find).
But via the console if I try to connect to my database I have a message ORA-12545 Connect failed because target host or object does not exist ! Why ?
If I try to connect via Sqlplus or DBA Studio Standalone I have no probleme.
Serge <HR></BLOCKQUOTE>
Hello Serge,
You need to check your tnsnames.ora file. You need to very that the service name you are using on the NT client is really connecting you to the linux server.
The Oracle docs cover how to set it up.
it goes something like this
Also do a search for Jesus M. Salvo's how to on setting it all up. He is on the OTN check back about 2 months or so.
I would send you a copy of my tnsnames.ora file, but I cannot get it (not on server now)
null -
Note works under JDL 1.3.1, but not under JDK 1.2.2. Is there a fix?
C:\bea\wlserver6.1\samples>c:\jdk1.3.1_01\bin\java
examples.jndi.InitialContextExample t3://localhost:9001 system password
WebLogic context created on behalf of "system"
C:\bea\wlserver6.1\samples>java examples.jndi.InitialContextExample
t3://localhost:9001 system password
java.io.StreamCorruptedException: Type code out of range, is 0
at java.io.ObjectInputStream.peekCode(ObjectInputStream.java:1280)
at
java.io.ObjectInputStream.SkipToEndOfBlockData(ObjectInputStream.java
:1211)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:776)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:353)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:978)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at
weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:107)
at
weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:115)
at
weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:6
86)
at
weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(Connecti
onManagerClient.java:140)
at
weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:627)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java,
Compi
led Code)
at
weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested
except
ion:
[java.io.StreamCorruptedException: Type code out of range, is 0]
at
weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:6
88)
at
weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(Connecti
onManagerClient.java:140)
at
weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:627)
at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java,
Compi
led Code)
at
weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Failed to contact t3://localhost:9001.
Is there a server running at this address?
C:\bea\wlserver6.1\samples>Right. Using WebLogic RMI proprietary implementation (t3) with 6.1 requires
1.3 on the client side. If you absolutely have to use 1.2 on the client side,
IIOP should work - I just tried this and it looks like WebLogic 6.1 implements
EJB spec interop requirements pretty well.
Jonathon Cano <[email protected]> wrote:
I saw an article saying use iiop and then deploy your beans for such. I can
get context over IIOP using jdk1.2.2 to WLS 6.1. I have not yet deployed
beans or recompiled anything to try this all the way. Does this work?
Should I proceed? or is there a gotcha?
"Dimitri Rakitine" <[email protected]> wrote in message
news:[email protected]...
6.1 requires 1.3 on the client. (it uses dynamic proxies, so 1.2 willnot
work).
Jonathon Cano <[email protected]> wrote:
Note works under JDL 1.3.1, but not under JDK 1.2.2. Is there a fix?
C:\bea\wlserver6.1\samples>c:\jdk1.3.1_01\bin\java
examples.jndi.InitialContextExample t3://localhost:9001 system password
WebLogic context created on behalf of "system"
C:\bea\wlserver6.1\samples>java examples.jndi.InitialContextExample
t3://localhost:9001 system password
java.io.StreamCorruptedException: Type code out of range, is 0
at
java.io.ObjectInputStream.peekCode(ObjectInputStream.java:1280)
at
java.io.ObjectInputStream.SkipToEndOfBlockData(ObjectInputStream.java
:1211)
at
java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:776)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:353)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:978)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:232)
at
weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:107)
at
weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedO
bjectInputStream.java:115)
at
weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:6
86)
at
weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(Connecti
onManagerClient.java:140)
at
weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:627)
atweblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java,
Compi
led Code)
at
weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - withnested
except
ion:
[java.io.StreamCorruptedException: Type code out of range, is 0]
at
weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:6
88)
at
weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(Connecti
onManagerClient.java:140)
at
weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:627)
atweblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java,
Compi
led Code)
at
weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java,
Compiled Code)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java,Compiled
Code)
Failed to contact t3://localhost:9001.
Is there a server running at this address?
C:\bea\wlserver6.1\samples>--
Dimitri
Dimitri -
Error while deploying the project to ESB and deleting the services in ESB
Hi,
I am tiring to deploy a project to ESB, but I am getting this exception.
error code: 0 : 10
summary: An unhandled exception has been thrown in the ESB system. The exception reported is: "javax.transaction.RollbackException: Timed out
at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:582)
at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:244)
at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:130)
at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433)
at oracle.tip.esb.console.XMLConsoleManagerImpl.commit(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.deploy(Unknown Source)
at oracle.tip.esb.configuration.deployment.DeploymentServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Fix: -
In the earlier thread
Error while deploying the project to ESB
I was told to do some corrections. I did that and also I have bounced the OPMN. It worked for me.
But again I am getting the same error, and I did this for the second time. But it didn’t work now.
And I also have one more problem. I am not able to delete the existing services in the ESB console. When I try to delete the services I am getting the same error.
I even checked the LOGS. The last three error payloads I see are
<MESSAGE>
<HEADER>
<TSTZ_ORIGINATING>2007-04-03T13:15:30.846-04:00</TSTZ_ORIGINATING>
<COMPONENT_ID>tip</COMPONENT_ID>
<MSG_TYPE TYPE="WARNING"></MSG_TYPE>
<MSG_LEVEL>1</MSG_LEVEL>
<HOST_ID>usmlrh37.arrow.com</HOST_ID>
<HOST_NWADDR>192.168.226.25</HOST_NWADDR>
<MODULE_ID>esb.server.service.impl.inadapter</MODULE_ID>
<THREAD_ID>26</THREAD_ID>
<USER_ID>soauser</USER_ID>
</HEADER>
<CORRELATION_DATA>
<EXEC_CONTEXT_ID><UNIQUE_ID>192.168.226.25:62472:1175620406177:7</UNIQUE_ID><SEQ>0</SEQ></EXEC_CONTEXT_ID>
</CORRELATION_DATA>
<PAYLOAD>
<MSG_TEXT>JCA: ORABPEL-11207
IO Failure in translator.
IO failure because the Inbound XSD translator failed to DOM Parse InputStream .
Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
</MSG_TEXT>
<SUPPL_DETAIL><![CDATA[ORABPEL-11207
IO Failure in translator.
IO failure because the Inbound XSD translator failed to DOM Parse InputStream .
Check the error stack and fix the cause of the error. Contact oracle support if error is not fixable.
at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:136)
at oracle.tip.adapter.mq.inbound.MessageProcessor.translateMessage(MessageProcessor.java:377)
at oracle.tip.adapter.mq.inbound.MessageProcessor.processMessage(MessageProcessor.java:217)
at oracle.tip.adapter.mq.inbound.MessageProcessor.run(MessageProcessor.java:165)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.UTFDataFormatException: Invalid UTF8 encoding.
at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:160)
at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:187)
at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:120)
at oracle.xml.parser.v2.XMLByteReader.saveBuffer(XMLByteReader.java:450)
at oracle.xml.parser.v2.XMLReader.fillBuffer(XMLReader.java:2488)
at oracle.xml.parser.v2.XMLReader.tryRead(XMLReader.java:1089)
at oracle.xml.parser.v2.XMLReader.scanXMLDecl(XMLReader.java:3047)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:521)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:287)
at oracle.tip.pc.services.translation.xlators.xsd.XSDTranslator.translateFromNative(XSDTranslator.java:134)
... 8 more
]]></SUPPL_DETAIL>
</PAYLOAD>
</MESSAGE>
<MESSAGE>
<HEADER>
<TSTZ_ORIGINATING>2007-04-03T13:15:30.850-04:00</TSTZ_ORIGINATING>
<COMPONENT_ID>tip</COMPONENT_ID>
<MSG_TYPE TYPE="ERROR"></MSG_TYPE>
<MSG_LEVEL>1</MSG_LEVEL>
<HOST_ID>usmlrh37.arrow.com</HOST_ID>
<HOST_NWADDR>192.168.226.25</HOST_NWADDR>
<MODULE_ID>esb.monitor.manager</MODULE_ID>
<THREAD_ID>29</THREAD_ID>
<USER_ID>soauser</USER_ID>
</HEADER>
<CORRELATION_DATA>
<EXEC_CONTEXT_ID><UNIQUE_ID>192.168.226.25:62472:1175620406325:10</UNIQUE_ID><SEQ>87</SEQ></EXEC_CONTEXT_ID>
</CORRELATION_DATA>
<PAYLOAD>
<MSG_TEXT>Activity monitor manager received an unexpected exception while processing the activity messages. Due to the error "ORA-01653: unable to extend table ORAESB.ESB_FAULTED_INSTANCE by 8 in tablespace USERS
", the activity message could not be stored.
</MSG_TEXT>
<SUPPL_DETAIL><![CDATA[oracle.tip.esb.monitor.MonitorException: Due to the error "ORA-01653: unable to extend table ORAESB.ESB_FAULTED_INSTANCE by 8 in tablespace USERS
", the activity message could not be stored.
at oracle.tip.esb.monitor.manager.database.AbstractFaultPersister.persist(Unknown Source)
at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.persistMessage(Unknown Source)
at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.store(Unknown Source)
at oracle.tip.esb.monitor.manager.ActivityMessageManager.handleMessage(Unknown Source)
at oracle.tip.esb.server.dispatch.agent.ESBWork.process(Unknown Source)
at oracle.tip.esb.server.dispatch.agent.ESBWork.run(Unknown Source)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: ORA-01653: unable to extend table ORAESB.ESB_FAULTED_INSTANCE by 8 in tablespace USERS
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:633)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3074)
at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.executeUpdate(PreparedStatementBCELProxy.java:37)
at oracle.tip.esb.monitor.manager.database.oracle.OracleFaultPersister.persist(Unknown Source)
... 11 more
]]></SUPPL_DETAIL>
</PAYLOAD>
</MESSAGE>
<MESSAGE>
<HEADER>
<TSTZ_ORIGINATING>2007-04-03T13:15:30.853-04:00</TSTZ_ORIGINATING>
<COMPONENT_ID>tip</COMPONENT_ID>
<MSG_TYPE TYPE="ERROR"></MSG_TYPE>
<MSG_LEVEL>1</MSG_LEVEL>
<HOST_ID>usmlrh37.arrow.com</HOST_ID>
<HOST_NWADDR>192.168.226.25</HOST_NWADDR>
<MODULE_ID>esb.server.dispatch.agent</MODULE_ID>
<THREAD_ID>29</THREAD_ID>
<USER_ID>soauser</USER_ID>
</HEADER>
<CORRELATION_DATA>
<EXEC_CONTEXT_ID><UNIQUE_ID>192.168.226.25:62472:1175620406325:10</UNIQUE_ID><SEQ>87</SEQ></EXEC_CONTEXT_ID>
</CORRELATION_DATA>
<PAYLOAD>
<MSG_TEXT>Failed to process deferred message</MSG_TEXT>
<SUPPL_DETAIL>oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException: Error occured while handling monitor message dequeued from monitor topic. Message text is "<activityMessages><activityMessage order='0' type='2'><flowId>ECA97010E20611DBBFEBA191573C68FA</flowId><subFlowId>1175620530577</subFlowId><source>379D02F0DD5F11DBBF92D52E11DE817E</source><sourceQName>Demo_Inbound_Queue_to_DB.Demo_Inbound_Queue_to_DB_From_Queue</sourceQName><timestamp>1175620530577</timestamp><operationGUID>379E8990DD5F11DBBF92D52E11DE817E</operationGUID><operationQName>Demo_Inbound_Queue_to_DB.Demo_Inbound_Queue_to_DB_From_Queue_RS.Dequeue</operationQName><errorMessage><![CDATA[java.util.MissingResourceException
java.util.MissingResourceException
java.util.MissingResourceException
]]></errorMessage><exception><![CDATA[ORABPEL-13004
java.util.MissingResourceException
java.util.MissingResourceException
java.util.MissingResourceException
at oracle.tip.adapter.mq.inbound.MessageProcessor.translateMessage(MessageProcessor.java:388)
at oracle.tip.adapter.mq.inbound.MessageProcessor.processMessage(MessageProcessor.java:217)
at oracle.tip.adapter.mq.inbound.MessageProcessor.run(MessageProcessor.java:165)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
]]></exception><inPayload><![CDATA[ediExtract850Header 4085537732 8670SSD23962-29 008675989102007032220070322
[b]Can any one please help me.
Thanks
Rao.Hi Bastiaan,
Thanks for the reply. I have asked my DBA analyst to work on this. He has increased the table space. Now if I try to deploy the projects to ESB the following error is show.
Error 1:
error code: 1000 : 5
summary: /rh37/u01/app/soa/10.1.3.1/SOA/integration/esb/oraesb/deploy/OAGISApp_OAGIS.zip (Read-only file system)
Fix: Contact Oracle Support
Error 2:
Entity Deployment Failed
error code: 0 : 10
summary: An unhandled exception has been thrown in the ESB system. The exception reported is:
"oracle.tip.esb.infra.exception.ESBRuntimeException: An unhandled exception has been thrown in the ESB system. The exception
reported is: "java.lang.NullPointerException
at oracle.tip.esb.console.CacheManager.updateService(Unknown Source)
at oracle.tip.esb.console.CacheManager.replaceEntity(Unknown Source)
at oracle.tip.esb.console.XMLConsoleManagerImpl.updateServiceInRepository(Unknown Source)
at oracle.tip.esb.console.XMLConsoleManagerImpl.updateServiceFromElement(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.createEntity(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.createServices(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.deploy(Unknown Source)
at oracle.tip.esb.configuration.deployment.DeploymentServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
at oracle.tip.esb.console.XMLConsoleManagerImpl.updateServiceInRepository(Unknown Source)
at oracle.tip.esb.console.XMLConsoleManagerImpl.updateServiceFromElement(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.createEntity(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.createServices(Unknown Source)
at oracle.tip.esb.configuration.deployment.JDevDeploymentManager.deploy(Unknown Source)
at oracle.tip.esb.configuration.deployment.DeploymentServlet.doPost(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at oracle.tip.esb.console.CacheManager.updateService(Unknown Source)
at oracle.tip.esb.console.CacheManager.replaceEntity(Unknown Source)
... 26 more
Fix: -
I tried to stop and start the OPMN. It didn't work. Can you please help me.
Thanks
Rao.
Message was edited by:
user552961 -
StreamCorruptedException: does not contain a serialized object?
Can someone tell me why am I getting this exception:
C:\javapr>java FetchObject
Couldn't retrieve binary data: java.io.StreamCorruptedException: InputStream
does not contain a serialized object
java.io.StreamCorruptedException: InputStream does
not contain a serialized object
at java.io.ObjectInputStream.readStreamHeader
(ObjectInputStream.java:849)
at java.io.ObjectInputStream.<init>
(ObjectInputStream.java:168)
at FetchObject.main(FetchObject.java:23)
import java.sql.*;
import java.util.*;
import java.io.*;
class FetchObject implements Serializable {
public static void main (String[] args) {
try {
String driver = "oracle.jdbc.driver.OracleDriver";
Class.forName(driver);
String url = "jdbc:oracle:thin:@mymachine:1521:homedeva";
Connection conn = DriverManager.getConnection(url,"cnn","cnn");
FetchObject i = new FetchObject();
// Select related
try
byte[] recdBlob = i.selectBlob( 1 , conn );
ByteArrayInputStream bytes = new ByteArrayInputStream(recdBlob);
ObjectInputStream deserialize = new ObjectInputStream( bytes );
Employee x = (Employee)deserialize.readObject();
catch( Exception ex )
System.err.println("Couldn't retrieve binary data: " + ex);
ex.printStackTrace();
catch( Exception ex )
ex.printStackTrace();
public byte[] selectBlob( int id, Connection conn )
byte[] returndata = null;
try
Statement stmt = conn.createStatement();
String sql = "SELECT id, rowdata FROM blobs WHERE id = " + id;
ResultSet rs = stmt.executeQuery(sql);
if ( rs.next() )
try
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
BufferedInputStream bis = new BufferedInputStream( rs.getBinaryStream("rowdata") );
byte[] bindata = new byte[4096];
int bytesread = 0;
if ( !rs.wasNull() )
if ( (bytesread = bis.read(bindata,0,bindata.length)) != -1 )
baos.write(bindata,0,bytesread);
returndata = baos.toByteArray();
baos.flush();
bis.close();
catch ( Exception ex )
System.err.println("Problem retrieving binary data: " + ex);
rs.close();
stmt.close();
catch ( Exception ex )
System.err.println("Couldn't retrieve binary data: " + ex);
return returndata;
import java.io.*;
class Employee implements Serializable
private String lastName;
private String firstName;
public Employee(String lastName, String firstName)
this.lastName = lastName;
this.firstName = firstName;
}To clarify I have stored an Employee Object as a Blob in the Oracle database and am attempting to retreive the
Employee Object from this Blob.
Thanks -
I have an applet which calls a JSP to write data object to the db and then the
JSP sends back the updated data object. The writing part is ok but the response
is giving the following error. The data object is in a separate class which implements
Serialized.
Here's the code in the applet calling the JSP and the response from the JSP
URL server = null;
String urlConnectionString = "http://localhost:7001/isLoginValid.jsp";
try
server = new URL(urlConnectionString);
catch(MalformedURLException e)
System.out.println("URL exception: " + e );
// send request
ObjectInputStream response = null;
Object result = null;
try
URLConnection conn = server.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Content-Type", "application/octet-stream");
ObjectOutputStream request = new ObjectOutputStream(new
BufferedOutputStream(conn.getOutputStream()));
request.writeObject((Object)dvo);
request.flush();
request.close();
// get the result input stream
response = new ObjectInputStream(new BufferedInputStream
(conn.getInputStream()));
// read response back from the server
result = response.readObject();
if( result!=null && (result instanceof DataVO))
dvo = (DataVO)result;
String vo = dvo.printDataVO();
System.out.println("*DataVO*\n"+vo);
else
System.out.println("not an instanceof DataVO");
catch(IOException ignored)
System.out.println("Error in DataVO response");
ignored.printStackTrace();
Here's the code in the JSP sending the response back to the applet. The 'dvo'
object is the object which is serialized and has gets and sets for the diff. data
elements. When I print the 'dvo' before writing the object to outputStream it
prints the correct values for the data element.
// send response
response.setStatus(HttpServletResponse.SC_OK);
ObjectOutputStream outputStream = new ObjectOutputStream (new BufferedOutputStream
(response.getOutputStream()));
outputStream.writeObject(dvo);
outputStream.flush();
ERROR is as follows:
Error in DataVO response
java.io.StreamCorruptedException: InputStream does not contain a serialized object
at java/io/ObjectInputStream.readStreamHeader
at java/io/ObjectInputStream.<init>
What am I doing wrong?. Please respond soon. The applet is run on IIS and the
JSP in on weblogic 6.1. I'm not sure if that makes any difference.
I have an applet which calls a JSP to write data object to the db and then the
JSP sends back the updated data object. The writing part is ok but the response
is giving the following error. The data object is in a separate class which implements
Serialized.
Here's the code in the applet calling the JSP and the response from the JSP
URL server = null;
String urlConnectionString = "http://localhost:7001/isLoginValid.jsp";
try
server = new URL(urlConnectionString);
catch(MalformedURLException e)
System.out.println("URL exception: " + e );
// send request
ObjectInputStream response = null;
Object result = null;
try
URLConnection conn = server.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestProperty("Content-Type", "application/octet-stream");
ObjectOutputStream request = new ObjectOutputStream(new
BufferedOutputStream(conn.getOutputStream()));
request.writeObject((Object)dvo);
request.flush();
request.close();
// get the result input stream
response = new ObjectInputStream(new BufferedInputStream
(conn.getInputStream()));
// read response back from the server
result = response.readObject();
if( result!=null && (result instanceof DataVO))
dvo = (DataVO)result;
String vo = dvo.printDataVO();
System.out.println("*DataVO*\n"+vo);
else
System.out.println("not an instanceof DataVO");
catch(IOException ignored)
System.out.println("Error in DataVO response");
ignored.printStackTrace();
Here's the code in the JSP sending the response back to the applet. The 'dvo'
object is the object which is serialized and has gets and sets for the diff. data
elements. When I print the 'dvo' before writing the object to outputStream it
prints the correct values for the data element.
// send response
response.setStatus(HttpServletResponse.SC_OK);
ObjectOutputStream outputStream = new ObjectOutputStream (new BufferedOutputStream
(response.getOutputStream()));
outputStream.writeObject(dvo);
outputStream.flush();
ERROR is as follows:
Error in DataVO response
java.io.StreamCorruptedException: InputStream does not contain a serialized object
at java/io/ObjectInputStream.readStreamHeader
at java/io/ObjectInputStream.<init>
What am I doing wrong?. Please respond soon. The applet is run on IIS and the
JSP in on weblogic 6.1. I'm not sure if that makes any difference.
-
[java.nio] StreamCorruptedException when deserializing objects
Hello everybody!
I made a messaging (chat) program using java.io where all the client-server communication is done by serializing small objects. Now I would like to covert the server side to the NIO concept and I'm already struck. I successfully pass objects to the client and the client deserializes them, but only the first one! When it try to read the second it fails with a StreamCorruptedException.
Here�s a sample (testing) code. In the server run() method I first serialize a string, then get its byte array from ByteArrayOutputStream and in the loop periodically send this byte array through the channel. On the client side I just read the deserialized object.
Server run():
public void run() {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject("abcdefgh");
byte[] objectArr = baos.toByteArray();
baos.close();
oos.close();
ByteBuffer buff = ByteBuffer.allocate(objectArr.length);
buff.put(objectArr);
buff.flip();
while(true) {
selector.select();
Set keys = selector.selectedKeys();
for (Object o : keys) {
SelectionKey key = (SelectionKey)o;
if (key.isAcceptable()) {
ServerSocketChannel server = (ServerSocketChannel) key.channel();
clientChannel = server.accept();
if (clientChannel == null)
continue;
clientChannel.configureBlocking(false);
SelectionKey clientKey = clientChannel.register(selector, SelectionKey.OP_WRITE);
} else if (key.isWritable()) {
SocketChannel client = (SocketChannel) key.channel();
if (buff.hasRemaining()) {
client.write(buff);
} else {
buff.clear();
buff.put(objectArr);
buff.flip();
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
return;
} catch (IOException e) {
e.printStackTrace();
}Client run():
public void run() {
try {
soc = new Socket("localhost", 4000);
ObjectInputStream ois = new ObjectInputStream(soc.getInputStream());
while(true) {
Object d = ois.readObject();
System.out.println("data = " + d.toString());
} catch (Exception ex) {
ex.printStackTrace();
}At the second read I get a StreamCorruptedException.
Apart from this I would like some hints in how to implement the application with NIO. For example how can I tell the objects apart on the client side � should I send every time a byte array before the object, which tells the length of the next coming object? This is probably not a 100% bulletproof solution and presents additional data transfer?
Than you in advance!OK, I found a solution but I don't like it, because I don't understand it.
The ObjectOutputStream adds a header (4 bytes) to the stream - if I send the array with those four bytes I get an StreamCorruptedException. If I send the array without the header I also get a StreamCorruptedException: "invalid stream header".
If I reconstruct the object, by calling ObjectOutputStream.writeObject() and get it's byte array from ByteArrayOutputStream.toByteArray(), every time I have to fill the ByteBuffer, then it works.
Here's the modified sending block, for the above example:
} else if (key.isWritable()) {
SocketChannel client = (SocketChannel) key.channel();
if (buff.hasRemaining()) {
client.write(buff);
} else {
//* ---- added code ---------
baos.reset();
oos.writeObject("abcdefgh");
objectArr = baos.toByteArray();
buff.clear();
buff.put(objectArr);
buff.flip();
} I really don't understand why I have to write the object in the object stream every time. I used ObjectOS and ByteArrayOS, to get the object byte array and then I thought I could forget about those streams and use this array to fill the ByteBuffer. What changes if I send the object through this process with every iteration (and how this harms speed - it's like sending everything twice)? If someone would explain this to me I would appreciate it much. -
Appending objects in text file and searching.......
I have been trieng to implement simple search operation on the class objects stored in the text file. but when i try to append new objects in the same file and search for the same; java.io.StreamCorruptedException is thrown. wat the problem is, that wen i append to the text file; it stores some header information before the actual object is stored and on the deserialization, this header information is causing the exception. the same header information is stored every time, i append to the file. anybody knws hw to get past it??? my code is as given below:
package coding;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.io.Serializable;
class Employee implements Serializable{
private static final long serialVersionUID = 1L;
String name;
int id;
public int getId() {
return id;
public void setId(int id) {
this.id = id;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
public Employee(String name, int id) {
this.name = name;
this.id = id;
public class FileSearch{
public static void main(String[] args) throws IOException
/*Entering the records into the file*/
Employee ob = null;
File file=new File("c:\\abc.txt");
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader stdin=new BufferedReader(isr);
char fileExist='y';
if(file.exists())
System.out.println("File already exists!!!");
System.out.println("Append New Records(press y) Or Search Existing File(press any other button)?:");
String strTemp=stdin.readLine();
fileExist=strTemp.charAt(0);
else
System.out.println("File doesnt exist; creating new file......");
if(fileExist=='y')
FileOutputStream fos=new FileOutputStream(file,true);
ObjectOutputStream oos=new ObjectOutputStream(fos);
char choice='y';
System.out.println("Enter records:");
while(choice=='y')
System.out.println("enter id:");
String id_s=stdin.readLine();
int id=Integer.parseInt(id_s);
System.out.println("enter name:");
String name=stdin.readLine();
ob=new Employee(name,id);
try
oos.writeObject(ob);
//count++;
oos.flush();
catch(Exception e)
e.printStackTrace();
System.out.println("Enter more records?(y/n)");
String str1=stdin.readLine();
choice=str1.charAt(0);
oos.close();
/*Searching for the record*/
System.out.println("Enter Record id to be searched:");
String idSearchStr=stdin.readLine();
int idSearch=Integer.parseInt(idSearchStr);
try
FileInputStream fis=new FileInputStream(
file);
ObjectInputStream ois=new ObjectInputStream(fis);
int flag=1;
FileReader fr=new FileReader(file);
int c=fr.read();
for(int i=0;i<c;i++)
Object ff=ois.readObject();
Employee filesearch=(Employee)ff;
if(filesearch.id==idSearch)
flag=0;
break;
ois.close();
if(flag==1)
System.out.println("Search Unsuccessful");
else
System.out.println("Search Successful");
catch(Exception e)
e.printStackTrace();
}966676 wrote:
All what I need to elect by who this word repeated. But I don't know really how to make It, maybe LinkedListYou should choose the simplest type fullfilling your needs. In this case I'd go for <tt>HashSet</tt> or <tt>ArrayList</tt>.
or I dont know, someone could help me?You need to introduce a variable to store the actual name which must be resetted if an empty line is found and then gets assigned the verry next word in the file.
bye
TPD -
StreamCorruptedException from Stateless Session bean to java class
Hi all,
We have 2 servers, a ColdFusion App server which contains suns jdk 1.4.2 and websphere appserver using Ibm jdk, 1.4.2. On Server 1, we have a standalone java class which does a stateless session bean lookup and requests a service from it. On server 2(websphere), we have a stateless session bean deployed which connects to a database using a jndi lookup, executes a query and returns back a CachedRowSet object (which populates the ResultSet from the above query.) In some cases, session bean returns back an array of objects or String objects or just plain int values.
When the java class on server 1 invokes the methods returning CachedRowSet, we are getting a StreamCorruptedException, whereas on the server side, there is no exception. everything gets executed fine on websphere. This is the case only for CachedRowSet and not for other return types(as mentioned earlier the session bean returns an array of object in some cases which the java class on server 1 is successfully able to use).
This is what the piece of code look like on server 1:
// First gets a StatelessSessionBean using suns InitialContextFactory
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
env.put(Context.PROVIDER_URL,"iiop://localhost:2809");
System.out.println("Creating initial context");
Context ctx = new InitialContext(env);
System.out.println("Initial context created.");
Object homeObj = ctx.lookup("cell/nodes/localhost/servers/server1/ejb/SSBHome");
SSBHome eHome = (SSBHome)PortableRemoteObject.narrow(homeObj,SSBHome.class);
System.out.println("Got Home");
SSB eBean = eHome.create();
CachedRowSet crs = eBean.getAccts(param1, param2);
//This is the line of code which throws the exception.
The stacktrace shoows as follows:
Got Home
java.io.StreamCorruptedException
at com.sun.corba.se.internal.io.IIOPInputStream.inputRemoteMembersForReadFields(IIOPInputStream.java:1675)
at com.sun.corba.se.internal.io.IIOPInputStream.readFields(IIOPInputStream.java:1595)
at com.sun.corba.se.internal.io.InputStreamHook.readFields(InputStreamHook.java:177)
at java.math.BigInteger.readObject(BigInteger.java:3034)
at com.sun.corba.se.internal.io.IIOPInputStream.readObject(Native Method)
at com.sun.corba.se.internal.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1298)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:908)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1484)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1893)
at com.sun.corba.se.internal.io.IIOPInputStream.defaultReadObjectDelegate(IIOPInputStream.java:424)
at com.sun.corba.se.internal.io.InputStreamHook.defaultReadObject(InputStreamHook.java:163)
at java.math.BigDecimal.readObject(BigDecimal.java:1084)
at com.sun.corba.se.internal.io.IIOPInputStream.readObject(Native Method)
at com.sun.corba.se.internal.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1298)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1182)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:259)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:948)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:289)
at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:266)
at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:635)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:260)
at com.sun.corba.se.internal.javax.rmi.CORBA.Util.readAny(Util.java:100)
at javax.rmi.CORBA.Util.readAny(Util.java:90)
at com.sun.corba.se.internal.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:586)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:244)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:948)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:289)
at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:266)
at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:635)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:260)
at com.sun.corba.se.internal.javax.rmi.CORBA.Util.readAny(Util.java:100)
at javax.rmi.CORBA.Util.readAny(Util.java:90)
at com.sun.corba.se.internal.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:586)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:244)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.EJBProj._SSB_Stub.getAccts(_SSB_Stub.java:240)
at com.test.Test1.getAccts(Test1.java:101)
at com.test.Test1.<init>(Test1.java:65)
at com.test.Test1.main(Test1.java:81)
java.io.IOException: Unable to read value from underlying bridge : Serializable readObject method failed internally
at com.sun.corba.se.internal.io.IIOPInputStream.throwExceptionType(Native Method)
at com.sun.corba.se.internal.io.IIOPInputStream.defaultReadObjectDelegate(IIOPInputStream.java:446)
at com.sun.corba.se.internal.io.InputStreamHook.defaultReadObject(InputStreamHook.java:163)
at java.math.BigDecimal.readObject(BigDecimal.java:1084)
at com.sun.corba.se.internal.io.IIOPInputStream.readObject(Native Method)
at com.sun.corba.se.internal.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1298)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1182)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:259)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:948)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:289)
at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:266)
at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:635)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:260)
at com.sun.corba.se.internal.javax.rmi.CORBA.Util.readAny(Util.java:100)
at javax.rmi.CORBA.Util.readAny(Util.java:90)
at com.sun.corba.se.internal.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:586)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:244)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:948)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:289)
at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:266)
at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:635)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_any(CDRInputStream.java:260)
at com.sun.corba.se.internal.javax.rmi.CORBA.Util.readAny(Util.java:100)
at javax.rmi.CORBA.Util.readAny(Util.java:90)
at com.sun.corba.se.internal.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:586)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:244)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1577)
at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:1796)
at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStream.java:913)
at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:261)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:247)
at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:209)
at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1084)
at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.java:293)
at com.EJBProj._SSB_Stub.getAccts(_SSB_Stub.java:240)
at com.test.Test1.getAccts(Test1.java:101)
at com.test.Test1.<init>(Test1.java:65)
at com.test.Test1.main(Test1.java:81)
Again, everything seems to work fine on websphere server.
Any Clue of why this is happening?
All suggestions are greatly appreciated.
Thanks
Neorav
Message was edited by:
NeoravBSorry for the confusion!
The solution mentioned above is not the right solution.
The above given code works fine irrespective of having corbaloc in the url, if you are working in the IBMs jvm.
It fails if you are working in suns jvm.
Anyone with any idea whats missing here.
Thanks a lot for any suggestion/ideas
Neorav -
Core Tag causes java.io.UTFDataFormatException
Hi,
I am using JSTL core tag in my JSP file. While running the file I am getting following error:
java.io.IOException: javax.servlet.jsp.JspException: The taglib validator rejected the page: "java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8 sequence., "I am using WebLogic 8.1 SP4 version and eclipse 3.1.1 with MyEclipse configured.
Can anybdy please help me find a solution to my problem. It's urgent.
Thanks in advance.
NiranjanI'm sorry my mind reading powers aren't working today.
Can you show an example of a simple JSP that duplicates this error?
The smallest example possible?
What is it on the page that does this.
If you create the page in a text editor (eg notepad) does it still occur? -
Imported XML errors "java.io.UTFDataFormatException: Invalid UTF8 encoding"
Hi,
I had to display a mutli select table region in a Oracle Standard Supplier Site Manage page in R12. So I had a created a custom Stack Layout region and imported in to the database. The import went through fine. Then using Personalization i had created an item with the item style as Stack Layout and in the extends property i mentioned the region path details (xxs/oracle/apps/pos/supplier/webui/XXSByrMngSiteRN) and saved the changes. When i go back to the standard page i am getting the below error stack.
I tested this in our development instance and it worked fine. when i moved it to the system test environment this issue came up. There is no difference in the patch levels between the development and system test environments. Please let me know if you have any idea about resolving the error.
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.PersistenceException: JBO-26000: A Generic exception occurred during loading Customizations.
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:896)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1888)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:532)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:420)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:270)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:204)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at OA.jspService(_OA.java:221)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
java.io.UTFDataFormatException: Invalid UTF8 encoding.
at oracle.xml.parser.v2.XMLUTF8Reader.checkUTF8Byte(XMLUTF8Reader.java:160)
at oracle.xml.parser.v2.XMLUTF8Reader.readUTF8Char(XMLUTF8Reader.java:175)
at oracle.xml.parser.v2.XMLUTF8Reader.fillBuffer(XMLUTF8Reader.java:120)
at oracle.xml.parser.v2.XMLByteReader.saveBuffer(XMLByteReader.java:450)
at oracle.xml.parser.v2.XMLReader.fillBuffer(XMLReader.java:2363)
at oracle.xml.parser.v2.XMLReader.tryRead(XMLReader.java:1087)
at oracle.xml.parser.v2.XMLReader.scanXMLDecl(XMLReader.java:2922)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:519)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:283)
at oracle.jbo.mom.MOMParserNonMDS.parse(MOMParserNonMDS.java:138)
at oracle.jbo.mom.MOMParserNonMDS.readAndParse(MOMParserNonMDS.java:63)
at oracle.jbo.mom.DefinitionContextStandard.readAndParse(DefinitionContextStandard.java:149)
at oracle.jbo.mom.DefinitionManager.loadDefElement(DefinitionManager.java:639)
at oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:538)
at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:425)
at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:358)
at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:340)
at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:700)
at oracle.jbo.server.ApplicationModuleDefImpl.findDefObject(ApplicationModuleDefImpl.java:232)
at oracle.jbo.server.ApplicationModuleImpl.createApplicationModule(ApplicationModuleImpl.java:1077)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.createApplicationModule(OAWebBeanContainerHelper.java:468)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:248)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
at oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processRequest(OAPageLayoutHelper.java:1166)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processRequest(OAPageLayoutBean.java:1569)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processRequest(OAFormBean.java:385)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:964)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequestChildren(OAWebBeanHelper.java:931)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:655)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:251)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processRequest(OABodyBean.java:353)
at oracle.apps.fnd.framework.webui.OAPageBean.processRequest(OAPageBean.java:2490)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1888)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:532)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:420)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:270)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:204)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at OA.jspService(_OA.java:221)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
I have also tried the steps mentioned in the below link, I tried the encoding as both UTF8 and UTF-8 but the issue still persists.
java.io.UTFDataFormatException using WS-I Analyzer
Regards, SureshSuresh,
You obviously already know about the OA Framework forum (since you posted the same question over there). That seems like the correct place for this post.
Also, since you have OA Framework, you have access to Metalink, and since you didn't get any fast answers on the OA Framework Forum, Metalink seems like a really attractive option, no?
Best,
john -
Error serializing objectjava.io.UTFDataFormatException --Urgent
Hi,
I am getting the following exception from JMS. I am trying to send Object
Message to JMS queue. The object message is created reading from XML.
I figured out one block in XML which is causing this exception. However,
there is no such character in that block which could be causing the problem.
All classes in the object are serializable. Even I tried replacing that
block of XML from a working XML. Still getting the same error. Any help or
clue will be appreciated.
Thanks in Advance,
Rishi
javax.jms.JMSException: setObject: Error serializing
objectjava.io.UTFDataFormatException
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at javax.jms.JMSException.<init>(Compiled Code)
at weblogic.jms.common.ObjectMessageImpl.setObject(Compiled Code)
at com.pmi.webedi.mom.QueueStateManagerEJB.Send(Compiled Code)
at com.pmi.webedi.mom.QueueStateManagerEJBEOImpl.Send(Compiled Code)
at com.pmi.webedi.mom.QueueStateManagerEJBEOImpl_ServiceStub.Send(Compiled
Code)
at com.pmi.webedi.servlets.RequestServlet.doPost(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at javax.servlet.http.HttpServlet.service(Compiled Code)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
Code)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
Code)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
If this is a production issue, I highly recommend contacting customer support.
This is
an informal forum. As to the exception on setObject, the code I inserted below
is the same code that 5.1 setObject uses, so if one throws and exception and the
other doesn't,
I'm stumped.
Tom
Rishi Prakash wrote:
> Thanks Tom,
> I did figure out that the problem was because of XML (and corresponding
> Object) size exceeding 64K. Thats the reason why when I eleminated some
> lines from the XML, it worked as expected. I also tried this code (as
> mentioned by you) and had no problems serializing. I checked that the
> objects were indeed using writeObject(String s). Inspite of all this I still
> get this exception in the following code.
>
> ObjectMessage om_msg = null;
> om_msg = q_session.createObjectMessage();
> ............
> om_msg.setObject((java.io.Serializable) p_XMLData); ---> this throws
> javax.jms.JMSException: setObject: Error serializing object
> java.io.UTFDataFormatException
> ..........
>
> where p_XMLData is an Object.
>
> It seems to me that setObject(..) is internally doing something. What could
> be done to make this work? This is an urgent PRODUCTION issue.
> Please help.
>
> Thanks once again,
> Rishi
>
> "Tom Barnes" <[email protected]> wrote in message
> news:[email protected]...
> > Hi Rishi,
> >
> > WL 5.1 is burying the stack trace, try this with your object to get the
> true
> > stack trace:
> >
> > ByteArrayOutputStream baos = new ByteArrayOutputStream();
> > ObjectOutputStream oos = new ObjectOutputStream(baos);
> > oos.writeObject(object);
> > oos.flush();
> > objectBytes = baos.toByteArray();
> >
> > I suspect your Object is using writeUTF to serialize a string that exceeds
> 64K
> > characters,
> > which UTF does not support (UTF format specifically forbids this).
> > Use "writeObject(String s)" instead.
> >
> > Tom
> >
> > Rishi Prakash wrote:
> >
> > > I am using weblogic 5.1 sp10 on solaris.
> > >
> > > Thanks,
> > > Rishi
> > >
> > > "Rishi Prakash" <[email protected]> wrote in message
> > > news:[email protected]...
> > > > Hi
> > > >
> > > > I am getting the following exception from JMS. I am trying to send
> Object
> > > > Message to JMS queue. The object message is created reading from XML.
> > > > I figured out one block in XML which is causing this exception.
> However,
> > > > there is no such character in that block which could be causing the
> > > problem.
> > > > All classes in the object are serializable. Even I tried replacing
> that
> > > > block of XML from a working XML. Still getting the same error. Any
> help or
> > > > clue will be appreciated.
> > > >
> > > > Thanks in Advance,
> > > > Rishi
> > > >
> > > > javax.jms.JMSException: setObject: Error serializing
> > > > objectjava.io.UTFDataFormatException
> > > > at java.lang.Throwable.fillInStackTrace(Native Method)
> > > > at java.lang.Throwable.fillInStackTrace(Compiled Code)
> > > > at java.lang.Throwable.<init>(Compiled Code)
> > > > at java.lang.Exception.<init>(Compiled Code)
> > > > at javax.jms.JMSException.<init>(Compiled Code)
> > > > at weblogic.jms.common.ObjectMessageImpl.setObject(Compiled Code)
> > > > at com.pmi.webedi.mom.QueueStateManagerEJB.Send(Compiled Code)
> > > > at com.pmi.webedi.mom.QueueStateManagerEJBEOImpl.Send(Compiled Code)
> > > > at
> > > com.pmi.webedi.mom.QueueStateManagerEJBEOImpl_ServiceStub.Send(Compiled
> > > > Code)
> > > > at com.pmi.webedi.servlets.RequestServlet.doPost(Compiled Code)
> > > > at javax.servlet.http.HttpServlet.service(Compiled Code)
> > > > at javax.servlet.http.HttpServlet.service(Compiled Code)
> > > > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
> Code)
> > > > at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> > > > Code)
> > > > at
> weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled
> > > > Code)
> > > > at
> weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
> > > > Code)
> > > > at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
> > > > at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
> > > > at weblogic.kernel.ExecuteThread.run(Compiled Code)
> > > >
> > > >
> >
-
Java.io.UTFDataFormatException
I hope this isn't a question that has been asked before, but I looked thru the posts back to July 1 and couldn't find it, so here goes:
I just installed SJSC2 EA yesterday on Win2k Pro. I built a small page with a couple of calendars, a button, a text field or two, etc. However, when I ran it I got the exception below. Thinking I messed something up, I started over with a page with one text field, one label and one button. Pressing the button stores the date time as a string in the text field. That worked fine, but the label didn't look right. Then I started mucking with the label format, and now I have this exception again and can't get rid of it. What to do?
Exception Handler
Description: An unhandled exception occurred during the execution of the web application. Please review the following stack trace for more information regarding the error.
Exception Details: java.io.UTFDataFormatException
Invalid byte 1 of 1-byte UTF-8 sequence.
Possible Source of Error:
Class Name: com.sun.org.apache.xerces.internal.impl.io.UTF8Reader
File Name: UTF8Reader.java
Method Name: invalidByte
Line Number: 712
Source not available. Information regarding the location of the exception can be identified using the exception stack trace below.
Stack Trace:
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:712)
com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:585)
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1740)
com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:843)
com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:976)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:419)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:218)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1563)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:341)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:828)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:758)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1178)
javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:181)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:201)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:487)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:468)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:516)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:307)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(AccessController.java:-2)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:482)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:417)
org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:80)
org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:95)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:216)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
java.security.AccessController.doPrivileged(AccessController.java:-2)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
com.sun.web.ui.util.UploadFilter.doFilter(UploadFilter.java:179)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
java.security.AccessController.doPrivileged(AccessController.java:-2)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)Hello,
I had similar problems with SJSC 2.
For me the problem was that the label had french characters. I mean for "Pr�nom" the "�" character, when I remove it from the label it works.
Alioune.
Maybe you are looking for
-
Hi.there. I'm absolutely new to any products. I now have a ipod nano 4th/5th generation. I have been told i can transfer my music cds from my Windows 7 laptop from the music library to the ipod nano.I have no idea how you go about this on iTunes as s
-
Periodic Extract from FAGLFLEXT - NewGL ?
Hi everyone, we are implementing a BCS system and want to transfer the totals from a migrated NewGL-System. Migration has been done to the beginning of this year, the old GL ist still for comparison reasons active. In the confuguration of the NewFL,
-
Spotting low dpi images, overprint, pantones etc..
Hello I'm designing a flyer in Illustrator, wich I exported to PDF using flyer.be his printoptions. When I upload the file to their server which has an auto checking service I'm told that some black text isn't in overprint, which might result into wh
-
Detect when a cell is changed in a tableview
Hi, is it possible to know when a cell in a tableview is modified, for instance, when a user write data into a cell, any event is raised to get the text written or the position of the cell modified? I've seen the events associated to a tableview and
-
Email Problems again on Second 3G
It seems that this second phone is beginning to have the same problem as the first.... Now I have to restart twice a day instead of just in the morning before work. I now have to restart in the morning and evening before leaving from work to send and