SocketChannel read() throws IOException
Hi!
During private SocketChannel channel;
private ByteBuffer inBuffer;
channel.read(inBuffer);an IOException (An established connection was aborted by the software in your host machine) was thrown. Does any one know the reason of this unpleasent event? I believe the channel is ok (just created)... maybe I try to write to fast to just created channel? Maybe I should wait for 3-5 seckonds?
Please help!!!
You already know the cause - you posted it.
"An established connection was aborted by the software in your host machine"
Basically, software (Winsock on Windows), has aborted the connection due to the lovely use of LSPs (Linked/Layered Service Providers) used by anti-virus (and viruses themselves) to control the network services on a computer.
McAfee VirusScan 8 and Norton AntiVirus 2004 are known to cause this, however, other firewall/anti-x programs can do this.
Similar Messages
-
SocketChannel.write() throws IOException instead of returning 0
I would like your opinion.
When a send buffer is full in the OS, should a channel's write()
return 0, or throw an exception? If an exception, should it be the
same exception (IOException) thrown when truly exceptional events
happen (e.g, a connection drop)?
On Win32, SocketChannel.write() internally calls WSASend(). When
WSASend() returns WSAEWOULDBLOCK, write() throws IOException. I
think it should return zero instead, or at least throw an exception
that can be distinguished easily (by other than parsing the
IOException.getMessage())
Should I submit a bug?
Thanks,
JuanThe java doc for write() says it should return zero. If you have a simple test case that demonstrates the behavior you describe and it is not already in the bug database, then yes. You should file the bug report.
-
Why does RTFEditorKit's Read throw IOException??
Hey all,
I'm getting IOException, "Too many close-groups in RTF Text" maybe 5 out of 100 times when I read an InputStream into a TextPane document using the RTFEditorKit:
myTextPane.getEditorKit().read(in, document, 0);
The rest of time it works fine. I'm not able to reproduce at will, but it does happen often if I'm reading a stream that has a lot of repeatable character sequences (imagine pasting the same odd string 50 times in a row).
Can anyone shed some light--whether this is a known issue or if I'm making a common mistake? Either way, what can I do? :(
Thanks!
JackieWell, I was wrong to think the problem was with the Read in isolation. My inputstream is created from a field in Access of binary data type (ole object). If I store the data as a String (using Access' Memo), then I have better luck. Alas, I lose ability to justify text and can't store as much data. But, it suits my purposes for now.
-
On Windows 7 HttpURLConnection.openConnection() throws IOException
Hi Team,
In our application we have a to create httpURLCOnnection (url.openConnection())which works fine on Windows XP but throws IOException on Windows7. Does anybody know which settings need to be enabled on windows 7 to resolve this issue?
Any response would be appreciated. Thanks in Advance.Hello Team,
I have a specific exception which I get when trying to open a url on Windows 7 with IIS authentication enabled. We get exception when trying to get response code of HTTP Connection
java.io.IOException: Authentication failure
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
Same code works find on windows XP. Do I need to do any specific settings on Windows7 to work this?
Thanks in Advance. -
DOMparser throws IOException when encounters Hungarian Characters
Hoi!
I wrote a piece of code that extracts some
information from an XML document into a vector of Java classes, using the oracle.xml.parser.v2.DOMParser.
And it worked. Or seemed to work...
But when I put some articles in the XML file
in Hungarian, the parser threw IOException.
If I remplace the Hungarian characters to
English "equivalents" a -> a etc., it works.
I don't know. If XML is made up of Unicode characters, what's the problem with it?
(The hex code of a was E1 in my text editor,
as I'm using Win NT :(. )
can I modify the xml prolog somehow?
I'd rather not write a conversion program
from a text file to another.
Any ideas?
and here's the code:
DOMParser theParser = new DOMParser();
XMLStreamToParse = XMLes.class.getResourceAsStream(xmlDocPath);
theParser.setValidationMode(false);
try{
theParser.parse( XMLStreamToParse );
//this throws IOException
nullWhat are you using as your test client?The test client is WebStone 1.0. WebStone always downloads the whole response, and reports the size of the response in bytes. From this I can see that when the IO exception occurs, webstone is unable to read the whole response, as it reports a smaller size.
So, I do not think the problem is that the client has prematurely aborted its download. WebStone doesn't work that way. I think something has gone awry on the server side, and this worries me. -
Stream connection throws IOException
i am using a stream connection for the midp 1.0. The client logs into a server using a StreamConnection and all this is cool.
But the application waits at the DataInputStream.read and then thows the IOException.
my code is something like this,,
while(true)
if ((i = dataInputStream.read()) == -1)
// some logic here
the dataInputStream.read() throws the exception after approximately 7 to 8 seconds.
anyone has an idea as to whats going wrong? why is the connection not being maintained.
Thankyou,
Balaji.Thankyou shmoove. The code is here.
The server is setup to send information every 3 seconds to the client (upon client request,, which is working fine). For your reference,, the same code works perfectly fine with a Series 60 (midp2.0) phone, and so does the server. except that i use a SocketConnection for the midp 2.0 phone. For the very reason that midp 1.0 does not support the SocketConnection, i have to use a StreamConnection instead. the dataInputSream is bound with the StreamConnection object.
I think the StreamConnection is somehow not persistant ,, in the sense the connection is not maintained.
Please tell me whats wrong,
Thankyou,
Balaji.
public Alert alertConnBroken = new Alert("", "Due to weak wireless link, Connection to server lost. Please reconnect!!", null, AlertType.WARNING);
public String readString()
String str = new String();
while(true)
try
if((ch = (char) dataInputStream.read()) == -1)
display.setCurrent(alertConnBroken);
break;
else
str = str + ch;
catch(InterruptedIOException iioe)
iioe.printStackTrace();
break;
catch (IOException ioe)
ioe.printStackTrace();
break;
catch(EOFException eofe)
eofe.printStackTrace();
break;
catch (Exception e)
e.printStackTrace();
break;
return str;
-
What is a best way to write throwing IOException here?
Can I write try-catch, and after "catch" throw it?
Is this right?
I have no idea how to do it with if-clause.
/** Writes the given apartment data in the file. If the file already
exists, the old contents are overwritten.
Parameters:
apartment - the apartment to be written in the file
Throws:
IOException - if other problems arose when handling the file (e.g. the
file could not be written) */
public Appartment writeAppartment(Appartment appartment)
throws IOException {
try {
writeStream = new FileOutputStream(filepath);
objectStream = new ObjectOutputStream(objectStream);
objectStream.writeObject(appartment);
} catch (Exception e) {
String message ="Writing to file "+filepath+ " failed.";
throw new IOException(message);
}Since your method is defined as "throws IOException", why not just get
rid of the whole try/catch block. Let the caller of writeAppartment
catch it. You don't seem to be doing anything special with the
exception when your throwing it, like throwing a custom one, so just
let java throw it. Plus, what if there is a NullPointerException...it
would be thrown as an IOException?I see, I haven't understood that when the method is defined as
"throws IOException", it throws it "automatically".
So I haven't to do anything.
But when I call this "throws-method" I have to catch the Exception or
throw it forward.
Is that right???
was meant to be:
objectStream = new ObjectOutputStream(writeStream);jep, sorry there was an error in that line. -
Log API: StreamHandler.flush() throws IOException ?
For some network error reason, my logging stopped working and i noticed this exception in the console:
java.util.logging.ErrorManager: 2
java.io.IOException: The specified network name is no longer available
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(Unknown Source)
at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.util.logging.StreamHandler.flush(Unknown Source)
at de.icp.logging.RollingFileHandler.publish(Unknown Source)I looked into the javadoc of StreamHandler.flush() and can't find any documented Exception that is thrown. As IOException is not an unchecked exception, this seems to be a javadoc bug, right?
My "RollingFileHandler extends StreamHandler and my publish() looks like this:
* Overwrites super.
public synchronized void publish(LogRecord record) {
if (!isLoggable(record)) {
return;
//check if we need to rotate
if (System.currentTimeMillis() >= nextCycle) { //next cycle?
role();
super.publish(record);
flush(); //throws IOException ??????
}//publish()Hm ... i think overwriting reportError() is useful:
* Overwrites super.
* Reopen log file in case of an error.
protected void reportError(String msg, Exception ex, int code) {
super.reportError(msg, ex, code); //standard behaviour of Handler
//on logging error, try to reopen the logfile:
openFile();
LogRecord record = new LogRecord(Level.WARNING, "Log file re-opened due to error:");
record.setThrown(ex);
publish(record);
}//reportError() -
JarURL.openStream() throws *IOException: no entry name specified*
<pre>
I have some code (supplied below) which tries to read contents of a resource
referred by a URL.
public class URLTest {
public static void main(String... args) throws Exception {
URL u = new URL(args[0]);
InputStream is = u.openStream();
// more code goes here:
If you create a jar file in /tmp/b.jar and run this program as shown below:
(If your shell treats ! as a special char, then you need to use escape char \ before it)
java pkg.URLTest <b>jar:file:/tmp/b.jar!/</b>
it produces the following exception:
Exception in thread "main" java.io.IOException: no entry name specified
at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:131)
at java.net.URL.openStream(URL.java:1007)
at pkg.URLTest.main(URLTest.java:20)
But, if you pass the argument as jar:file:/tmp/b.jar!/A.class then it opens a stream
that points to A.class which is embedded inside b.jar.
My question is, what is the motivation behind not allowing user to open a stream to
jar:file:/tmp/b.jar!/ which according to the javadocs of JarURLConnection
http://java.sun.com/j2se/1.5.0/docs/api/java/net/JarURLConnection.html
represents a JAR File?
Thanks,
Sahoo
</pre>I just also came across this. I don't know the motivation behind it. But it is certainly deliberate.
This is the source code for JarURLConnection.getInputStream.
public InputStream getInputStream() throws IOException {
connect();
InputStream result = null;
if (entryName == null) {
throw new IOException("no entry name specified");
} else {
if (jarEntry == null) {
throw new FileNotFoundException("JAR entry " + entryName +
" not found in " +
jarFile.getName());
result = new JarURLInputStream (jarFile.getInputStream(jarEntry));
return result;
}So it will only let you get an InputStream to a file inside the Jar file, not the Jar file itself.
If you want to do that, then rather than using InputStreams you want to use the JarURLConnection class. My example below shows you how to get at the JarFile and its contents, JarEntry objects,
URL u = new URL("/tmp/b.jar!/");
JarURLConnection juc = (JarURLConnection)u.openConnection();
JarFile jf = juc.getJarFile();
System.out.println("JarFile: " + jf.getName());
Enumeration<JarEntry> entries = jf.entries();
for(JarEntry je = entries.nextElement(); entries.hasMoreElements(); je = entries.nextElement())
System.out.println("\tJarEntry: " + je.getName());
} -
How to decide ByteBuffer size created for SocketChannel.read(ByteBuffer)
Hi,
Is there any way by which we can know the size of data ready to be read at the SocketChannel?
When the "SelectionKey" is discovered to be "isReadable()" I would like to create the ByteBuffer of the required size and use it for the SocketChannel.read(ByteBuffer) method.
Right now I have to statically fix the ByteBuffer size to some safe maximum limit for this "read" method, which somehow is not looking efficient technique to me.
Thanks in advance
AmitJava doesn't tell you how much data is pending, but allocating the ByteBuffer 'statically' in advance is a better technique anyway. ByteBuffers are potentially expensive to create so you should allocate them just once per channel. The size is generally 8k or above depending on how many clients you expect to service at the same time and the amount of memory you can spare per client and in total.
-
Cpu usage raise to 100% in socketchannel read
hello guys,
i m developing one socket applicatoin in which multiple client are connected to one server socket channel..
now in my application there is one main thread which runs continuesly and in which i m asking to one particular client for his action....
now when i ask to client then after one another thread which read from the client socketchannel is started and continuously running until client not reply.
this read thread raise my cpu usage to 100%.....
so what to do.????
overview of my code::::
//first thread
void run()
askClient();
//start receive reply thread here
rrt = new RRT();
rrt.start();
//second thread run method
void run()
while(running)
System.out.pritnln("Inside receive thread");
while(Bytesread==socketchannel.read(buf) > 0)
//if get reply stop this thread
running = false;
in this second thread until client not reply cpu usage raise to 100%
I have try for sleep in second thread run method than also it is not able to stop raise in usage..
what should i do ....
plz helpYour designs demands artificial blocking reads, so why not using blocking sockets anyway? After all, you've spawned a new thread just to read that, you might as well save yourself the trouble with selectors.
On the other hands, you might want to do the right thing (TM) and switch to a non-blocking design. I side with ejp on this one, use the documentation and the web. -
SetSoTimeout for blocking SocketChannel.read() doesn't work
When I tried to perform reading in blocking mode with using NIO's SocketChannel.read() method with a desired timeout, the SocketChannel.socket().setSoTimeout() method that was called before SocketChannel().read() funtion, seemed not to work properly. The read() method blocked the thread for infinite time even if I set the timeout to any non-zero value (zero means according the manual infinite timeout).
Here is the example code:
SocketChannel iochan;
ByteBuffer bb = new ByteBuffer.allocateDirect(1024);
iochan = SocketChannel.open(new InetSocketAddress(some address, some port));
iochan.socket().setSoTimeout(2000); //should wait max. 2 secs on next read
iochan.read(bb); //read some data to the buffer; if none present within 2 seconds then exception should be thrown - but it never happens. The thread is blocked until some data comes or the connection is closed by the peer, for example.
What is very interesting is that this code is OK:
SocketChannel iochan;
ByteBuffer bb = new ByteBuffer.allocateDirect(1024);
iochan = SocketChannel.open(new InetSocketAddress(some address, some port));
iochan.socket().setSoTimeout(2000); //should wait max. 2 secs on next read
iochan.socket.getInputStream().read(); //read byte; if none present within 2 seconds then exception should be thrown - this works fine.
As you see the same socket is used. Nonetheless, I would like to use SocketChannel methods (NIO). Can anyone help me? Why doesn't work timeouts for blocking SocketChannel methods(read(),...), whereas "classic" sockets methods are OK?
I'm using W2K SP3, Java 1.4.1_01.I've run into a similar problem using DatagramSockets. Apparently socket timeouts aren't supported using the nio packages, but nowhere in the documentation is this mentioned. The following bug report gives more info:
http://developer.java.sun.com/developer/bugParade/bugs/4614802.html
Apparently this is not considered a bug. I do however hope this is fixed in JDK 1.5, when I understand more work is to be done on nio.
Rob -
Socket I/P stream's read fails to throw IOException when connection is lost
Hi,
Socket.getInputStream().readShort() blocks till it reads from the server. It throws an IOException if the connection is lost before calling the method. But it is not throwing an IOException if the connection is lost after blocking.
That is....
// If the connection is lost before calling, it is throwing an IOException.
short s = mySocket.getInputStream().readShort();
// But, while it is blocked and if I shutdown the server, it's never throwing
// an IOException and it stays blocked.How should I get around this problem?
Thank you!It's true; a timeout is really the best way.
One approach I thought about using, where I was in control of the protocol, was to periodically send a "nop" type operation to the socket; a message that doesn't do anything. Obviously not all applications have this liberty, either because you aren't in control of the protocol, or because you want to keep your application single threaded. It's also kind of hackish, and not as good as the timeout mechanism in most respects.
You also have to be a little careful about what you define as a "connection failure". If, for example, you set up a TCP/IP socket without a timeout, and then physically disconnect the ethernet cable, the connection will in fact stay up. If you come back an hour later and plug in the cable again, the connection will still be there and will pass traffic again. -
Character Sets - socketchannel read error
I have made an FTPserver which i have just noticed is having trouble when the file name being requested/send has non-ASCII characters in it such as '�'.
Since i am using nio i thought it would just be an simple task of just changing the character set from "US-ASCII" to "UTF-8" or "UTF-16".
but when i changed it to UTF-8 there was no change, that is i still recieve an error:
java.nio.charset.MalformedInputException: Input length = 1
java.nio.charset.CoderResult.throwException(CoderResult.java:260)
java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:763)
Worker.readCommand(Worker.java:282)
Worker.handleClient(Worker.java:562)
Worker.run(Worker.java:144)
java.lang.Thread.run(Thread.java:536)
And when i tried UTF-16 no input was ever detected by my server...
This 'input length = 1' business... does this mean that there must be more than one byte in the recieved byte array or am i going off on a incorrect tangent?
Any suggestions or theories would be listened to!
Cheers
(btw i will not be able to reply to this post for another 11 hrs)I can but it will not be of much use as it is more a logical error or a misunderstanding of how to use the character set.
well here is the relevant code anyway:
// readCommand: waits until a command is recieved from the client and then returns the command
String readCommand(InputStream is, PrintStream ps) throws java.io.IOException
int nread = 0, r = 0;
String str="";
Charset charset = Charset.forName("UTF-8");
CharsetDecoder decoder = charset.newDecoder();
// Direct byte buffer for reading
ByteBuffer dbuf = ByteBuffer.allocateDirect(1024);
// outerloop:
do
dbuf.clear();
boolean quit=false;
String message="";
int bytesRead=0;
// while there is no input in the buffer
while (dbuf.position()==0)
// read in any bytes that are waiting into the buffer
sc.configureBlocking(false);
bytesRead=sc.read(dbuf);
sc.configureBlocking(true);
// wait for two milliseconds before trying to read again
try
wait(2);
catch (InterruptedException e)
// if the client has not yet finished the connection negoiation see if the client has been connected for more than 30 seconds, if so disconnect the client
if (account==-1)
if (System.currentTimeMillis()>clientStartTime+30000)
quit=true;
else
// if the thread has been told to quit the connection set the quit flag
if (exitThread)
message="421 Quitting...";
quit=true;
// If there is a sessionlimit see if the connection has exceeded the limit, if so set the quit flag
if (staticSessionLimit[account]>0)
if (System.currentTimeMillis()>clientStartTime+staticSessionLimit[account])
message="421 Session Limit Exceeded... please re-connect in 30 seconds";
quit=true;
// if there is an inactivity timout see if the client has not been active for more than the timeout, if so set the quit flag
if (staticInactivityTimeout[account]>0)
if (System.currentTimeMillis()>lastActiveTime+staticInactivityTimeout[account])
message="421 Inactivity Timeout Exceeded... closing connection";
quit=true;
// if the quit flag is set return "QUIT" which tells the thread to close the connection and return to the pool
if (quit)
ps.print(message);
ps.write(EOL);
ps.flush();
return "QUIT";
dbuf.flip();
CharBuffer cb=null;
// if there are bytes in the buffer, add the data to the recieved command string (str)
if (bytesRead>=0)
cb = decoder.decode(dbuf);
str=str+cb.toString();
// repeat while EOL is not detected
} while (str.length()<2 || !str.substring(str.length()-2).equals("\r\n"));
str=str.substring(0,str.length()-2);
FTPServer.log("STRING: "+str);
lastActiveTime=System.currentTimeMillis();
// update the last action requested by the client in the governor
governor.addAction(str,this);
return str;
} -
WebLogic Server 6.1 SP 3 DocumentBuilder throws IOException: Stream closed
Hi,
I have a question about XML processing and error handling, and how the
WebLogic container affects things.
Here's what happens to us. We have a servlet parsing XML using DOM.
The servlet has an InputStream with the content. It gets the default
DocumentBuilderFactory
(weblogic.xml.jaxp.RegistryDocumentBuilderFactory) and makes it
validating. It asks for a DocumentBuilder. It gives the builder our
own custom error handler to collect up all the SAX parse errors. It
then tells the builder to parse the input stream. We would expect
that any problems with the content would be reported as an error to
our error handler, so that we can then report the errors to the user
as part of the servlet response.
However, certain malformed XML content causes the WebLogic parser to
issue several error messages to System.out and throw an IOException
with the message "Stream closed". No errors are recorded in our error
handler. This happens on a variety of inputs, which all revolve
around the root element start tag being malformed or entirely missing.
We get this behavior with a totally empty stream, with a stream that
has the <?xml> and <!DOCTYPE> headers but nothing else, with a stream
that has the headers and then a malformed start tag like
"<Submit_Contracts a="1"b="2"/>". I think the programmer would expect
any of these inputs to cause the parser to simply report a fatal error
and stop. Throwing an IOException makes it look like it's an error in
the underlying stream, and clearly it's not. (Most of the test code I
used actually pulled the XML from a ByteArrayInputStream.)
Shouldn't WebLogic's parser handle these inputs differently? Throwing
an IOException can't be correct, can it? Should the application
instead be responsible for checking that the input has a well-formed
start tag? In that case the application is doing the parsing that we
want to rely on the parser to do! Should the application instead
catch IOExceptions from the parser and report them to the user as
input errors? In that case the application can potentially swallow
and ignore harmful system errors.
The messages on System.out are all along the lines of:
"<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Failed to open XML
document. Failed to retrieve PUBLIC id or SYSTEM id from the document.
Decrease the number of char between the beginning of the document and
its root element.>
<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Failed to open XML
document. Failed to retrieve PUBLIC id. Stream closed>
<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Failed to parse given XML
document. Failed to retrieve PUBLIC id. The root element is required
in a well-formed document.>
<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Failed to parse given XML
document. Failed to retrieve SYSTEM id. The root element is required
in a well-formed document.>
<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Failed to open XML
document. Failed to retrieve root tag. Stream closed>
<Oct 17, 2002 5:38:03 PM EDT> <Error> <XML> <Could not instantiate
factory class specified in the Server console. Invalid parameters: at
least one of publicId,systemId, rootTag must be non-null>
The IOException looks like:
"java.io.IOException: Stream closed
at java.io.BufferedInputStream.ensureOpen(BufferedInputStream.java:118)
at java.io.BufferedInputStream.read(BufferedInputStream.java:268)
at weblogic.apache.xerces.utils.ChunkyByteArray.fill(ChunkyByteArray.java:230)
at weblogic.apache.xerces.utils.ChunkyByteArray.<init>(ChunkyByteArray.java:106)
at weblogic.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:153)
at weblogic.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:499)
at weblogic.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:318)
at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:974)
at weblogic.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:183)
at weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:140)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:86)
at com.isone.sms.participant.contracts.web.WebLogicParserContainerTest.testWebLogicParserTanksOnEmptyStream(WebLogicParserContainerTest.java:448)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:166)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at com.isone.sms.participant.contracts.web.ContractTestServlet.doPost(ContractTestServlet.java:23)
at com.isone.sms.participant.contracts.web.ContractTestServlet.doGet(ContractTestServlet.java:16)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2546)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)"
Judging from the IOException, it looks as though WebLogic's wrapper
parser, RegistryDocumentBuilder, successfully picked a real parser to
do its work and is passing off the input to be parsed there, even
though the input's already closed. Perhaps the
RegistryDocumentBuilder silently screwed up the stream while trying to
figure out what parser to use, but didn't take that into account
before attempting to pass it off for parsing. Perhaps the error
messages on System.out account for when RegistryDocumentBuilder is
screwing up the stream.
But if RegistryDocumentBuilder discovers that the stream can't be
parsed, why can't it simply report a fatal error and stop before
starting the real parser?
Mainly I wanted to put this experience up here on a newsgroup because
I was so surprised that nobody else had reported similar problems. It
makes me doubt whether our applications are handling the XML parsing
correctly. But I can't see any other way that makes sense. Please
let me know what you think!
Thanks,
Jim
Hi,
I got this error when i used JRUN as plugin server through
Ineternet Information Server. but it was working fine when used it
as standalone server.
The reason was beacuase, the inputstream was getting closed . when i removed it, it started working.
(To be frank , the Inputstream was closed by XML DOM PARSER , which is third party component.)
and believe that your case is also the same ....
If you have doubt on that then see that configuration for proxies under your webservers config files
best of luck
LOkesh T.C
Maybe you are looking for
-
ITunes will not sync to my iPhone
I add music to my iTunes, and I plug up my phone and click sync. iTunes goes through all the processes, and even tells me the sync is done, but no new songs are on my iPhone. I thought that maybe it was just the songs/file type I was trying to downlo
-
Connecting two BI systems to one R/3 system
Hi Experts, We are upgrading our BW 3.x to 7. This activity we are doing on a sandbox server. Now for integration testing we want to connect this BI sandbox to R3 QA system. RFC destination parameters are maintained in both the systems. Now when we g
-
I can't download any of the CC programs/apps. Please advise.
Hi I recently signed up for the student/teacher full CC version and am trying to download lightroom and other apps. Nothing happens when I click on the "install" button. What should I do next? Many thanks!
-
I am unable to view or download PDF files using Firefox that used to open automatically.
Reading some of the other comments on the support site I wonder if in my haste in making sure I didn't get that malware virus if I didn't perhaps accidentally delete a necessary plug-in for Adobe Reader? I'd appreciate any advice. Thank you!
-
software to fix battery issue of iphone 5??? please thank you