[jcifs] JCIFS error

Benjamin Farr Benjamin.Farr at mim.com.au
Mon Jul 22 10:49:25 EST 2002


Hello,

I am having trouble writing a file using the smb protocol.

The file is created and one write of the buffer is performed, however an
exception is also thrown on the first
write as follows.

1024 bytes read this time Jul 22 10:40:53.993 - exception reading from
socket input java.io.IOException: unexpected EOF reading netbios session
header 	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() 


A : Timeout waiting for response from server.
dev.holdings.mim.com.au/158.54.111.195 jcifs.smb.SmbException: 
Timeout waiting for response from server.
dev.holdings.mim.com.au/158.54.111.195 	
void jcifs.smb.SmbTransport.send(jcifs.smb.ServerMessageBlock,
jcifs.smb.ServerMessageBlock) 	void
jcifs.smb.SmbSession.send(jcifs.smb.ServerMessageBlock,
jcifs.smb.ServerMessageBlock) 	void
jcifs.smb.SmbTree.send(jcifs.smb.ServerMessageBlock,
jcifs.smb.ServerMessageBlock) 	void
jcifs.smb.SmbFile.send(jcifs.smb.ServerMessageBlock,
jcifs.smb.ServerMessageBlock) 	void
jcifs.smb.SmbFileOutputStream.write(byte[], int, int) 	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()


The code is as follows

public static void createFile(InputStream aSrc,String aHost,String
aUserName,String aPassword,String aPath,String aFilename) throws
MimException{
    SmbFileOutputStream smbOut = null;


    try {
      
      /*
      if( f.exists()) { 
        // 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" );
      
      
      /*
      System.setProperty( "wins", "158.54.111.185" );
      System.setProperty( "jcifs.netbios.wins", "158.54.111.185" );
      */
      System.setProperty( "wins", "mimhntbdc.mim.com.au" );
      System.setProperty( "jcifs.netbios.wins", "mimhntbdc.mim.com.au" );
      jcifs.Config.setProperty( "jcifs.netbios.wins", "mimhntbdc.mim.com.au"
);
      jcifs.Config.setProperty("wins", "mimhntbdc.mim.com.au");
      SmbFile f = new SmbFile("smb://"+aHost+aPath+ "/" +aFilename);
      smbOut = new  SmbFileOutputStream(f);
      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);
    }
  }

Regards

Ben Farr


**********************************************************************
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