[jcifs] JCIFS error

Allen, Michael B (RSCH) Michael_B_Allen at ml.com
Mon Jul 22 12:43:35 EST 2002


1) Try your code against NT 4 if you can just to rule out a client side issue.
2) Try the latest version of jCIFS if you are not already. We just fixed an issue with Novell.
3) Try the examples/Exists.java program just to rule out an issue specific to your code.
4) Send me output of java -Dlog=ALL Exists smb://me@novel.server/foo.... If this doesn't
fail then send me -Dlog=ALL of something that does (also, send it as an attachment).

> -----Original Message-----
> From:	Benjamin Farr [SMTP:Benjamin.Farr at mim.com.au]
> Sent:	Sunday, July 21, 2002 10:28 PM
> To:	'Allen, Michael B (RSCH)'; 'jcifs at samba.org'
> Subject:	RE: [jcifs] JCIFS error
> 
> Michael,
> 
> I setup a properties file and that is working fine. I removed the timeout
> settings. 
> 
> 
> I believe the server is Novell.
> 
> The file does get created on the server but has an exception with
> f.exists();
> 
> This is the exeption output of checking for f.exists();
> 
> S : Timeout waiting for response from server.
> dev.holdings.mim.com.au/158.54.111.195 Jul 22 12:19:10.211 - exception
> reading from socket input java.net.SocketException: Descriptor not a socket:
> JVM_recv in socket input stream read 	int
> java.net.SocketInputStream.socketRead(byte[], int, int) 	int
> java.net.SocketInputStream.read(byte[], int, int) 	int
> jcifs.netbios.SessionServicePacket.readPacketType(java.io.InputStream,
> byte[], int) 	int jcifs.netbios.SocketInputStream.read(byte[], int, int)
> int jcifs.netbios.SocketInputStream.read() 	int
> java.io.FilterInputStream.read() 	int
> java.io.PushbackInputStream.read() 	void jcifs.smb.SmbTransport.run()
> void java.lang.Thread.run() jcifs.smb.SmbException: Timeout waiting for
> response from server. dev.holdings.mim.com.au/158.54.111.195 	void
> jcifs.smb.SmbTransport.sendTransaction(jcifs.smb.SmbComTransaction,
> jcifs.smb.SmbComTransactionResponse) 	void
> jcifs.smb.SmbSession.sendTransaction(jcifs.smb.SmbComTransaction,
> jcifs.smb.SmbComTransactionResponse) 	void
> jcifs.smb.SmbTree.sendTransaction(jcifs.smb.SmbComTransaction,
> jcifs.smb.SmbComTransactionResponse) 	void
> jcifs.smb.SmbFile.sendTransaction(jcifs.smb.SmbComTransaction,
> jcifs.smb.SmbComTransactionResponse) 	jcifs.smb.Info
> jcifs.smb.SmbFile.queryPath(int) 	boolean jcifs.smb.SmbFile.exists()
> void com.mim.mimsj.hr.HREmpPhotos.createFile(java.io.InputStream,
> java.lang.String, java.lang.String, java.lang.String, java.lang.String,
> java.lang.String) 	java.lang.String
> com.mim.mimsj.hr.HREmpPhotos.uploadFile(javax.servlet.http.HttpServletReques
> t) 	void _HREmpPhoto3._jspService(javax.servlet.http.HttpServletRequest,
> javax.servlet.http.HttpServletResponse) 	void
> oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest,
> javax.servlet.ServletResponse) 	void
> oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequ
> est, javax.servlet.http.HttpServletResponse, java.lang.String) 	void
> oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServl
> etRequest, javax.servlet.http.HttpServletResponse) 	void
> oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletReques
> t, javax.servlet.http.HttpServletResponse) 	void
> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
> javax.servlet.ServletResponse) 	void
> com.evermind.server.http.ServletRequestDispatcher.invoke(javax.servlet.Servl
> etRequest, javax.servlet.ServletResponse) 	void
> com.evermind.server.http.ServletRequestDispatcher.forwardInternal(javax.serv
> let.ServletRequest, javax.servlet.http.HttpServletResponse) 	boolean
> com.evermind.server.http.HttpRequestHandler.processRequest(com.evermind.serv
> er.ApplicationServerThread,
> com.evermind.server.http.EvermindHttpServletRequest,
> com.evermind.server.http.EvermindHttpServletResponse, java.io.InputStream,
> java.io.OutputStream, boolean) 	void
> com.evermind.server.http.HttpRequestHandler.run(java.lang.Thread) 	void
> com.evermind.util.ThreadPoolThread.run() 
> 
> 
> 
> // Function 
> public static void createFile(InputStream aSrc,String aHost,String
> aUserName,String aPassword,String aPath,String aFilename) throws
> MimException{
>     SmbFileOutputStream smbOut = null;
> 
>     try { 
>       SmbFile f = new SmbFile("smb://"+aUserName+":" + aPassword +
> "@"+aHost+aPath+ "/" +aFilename);
>       smbOut = new  SmbFileOutputStream(f);
>        try {
>           if( f.exists()) { 
>           } 
>           else {
>           }    
>          }
>          catch(Exception e){
>            System.out.println("S : " + e.getMessage());
>            e.printStackTrace();
>            throw new MimException(e);
>          }
>       byte[] b = new byte[1024];
>       int n;
>       while(( n = aSrc.read( b )) > 0 ) {    
>          System.out.println(n + " bytes read this time");
>          try {
>               smbOut.write(b, 0, n );
>          }
>          catch (Exception e) {
>             System.out.println("A : " + e.getMessage());
>               e.printStackTrace();
>     
>          }
>       }
>       smbOut.close();
>     }
>     catch(Exception e) {
>       throw new MimException(e);
>     }
>   }
> 
> -----Original Message-----
> From: Allen, Michael B (RSCH) [mailto:Michael_B_Allen at ml.com]
> Sent: Monday, 22 July 2002 11:15
> To: 'Benjamin Farr'; 'jcifs at samba.org'
> Subject: RE: [jcifs] JCIFS error
> 
> 
> 
> 
> > -----Original Message-----
> > From:	Benjamin Farr [SMTP:Benjamin.Farr at mim.com.au]
> > 
> > 
> >     try {
> >       
> >       /*
> >       if( f.exists()) { 
> 	[Allen, Michael B (RSCH)]  
> 
> 	If you test f.exists(), that will result in an additional network
> message. If you want to delete the file just call try { f.delete() } catch(
> SmbException se ) { // do nothing }.
> 
> >         // should delete it ????  
> >       } else {
> > 
> >       }    */
> >     }catch(Exception e){
> >       throw new MimException(e);
> >     }
> >     try { 
> >     
> >       System.setProperty( "jcifs.smb.client.username", "meo" );
> >       System.setProperty( "jcifs.smb.client.password", "meo123" );
> >       System.setProperty( "jcifs.smb.client.domain", "mimh" );
> >       System.setProperty( "jcifs.smb.client.responseTimeout", "50000" );
> >       System.setProperty( "jcifs.smb.client.soTimeout", "50000" );
> >       System.setProperty( "jcifs.netbios.soTimeout", "15000" );
> >       
> 	[Allen, Michael B (RSCH)]  You cannot set properties like this. Read
> the
> 	javadoc page on Setting Client Properties. In short you cannot set
> properties after
> 	you have referenced Smb* classes. It would be best if you used a
> properties file and
> 	specified it's location *before* referencing any jcifs classes like:
> 
> 	  System.setProperty( "jcifs.properties", "myjcifs.prp" );
> 	  SmbFile f = new SmbF...
> 
> 	Technically the above might work but not always so the general rule
> is don't do it. As for
> 	the Exception, that might mean jCIFS is incompatible with the
> server. What type of server
> 	is it? Is it NetApp? Novell? Jim's Smb Server 2.0?
> 
> 	Also, you shouldn't have to mess with responseTimeout or soTimeout.
> If it takes longer
> 	than 2 seconds for the client to do it's thing there's something
> wrong.
> 
> 	Fix that and let us know if the problem persists.
> 
> 	Mike
> 
> 
> **********************************************************************
> The information contained in this e-mail is confidential and is
> intended only for the use of the addressee(s).
> If you receive this e-mail in error, any use, distribution or
> copying of this e-mail is not permitted. You are requested to
> forward unwanted e-mail and address any problems to the
> MIM Holdings Limited Support Centre.
> 
> For general enquires:	++61 7 3833 8000
> Support Centre e-mail:	supportcentre at mim.com.au
> Support Centre phone:  	Australia 1800500646
>         				International ++61 7 38338042
> **********************************************************************
> 





More information about the jcifs mailing list