java


Why is my java class not connecting to remote drive using smb (When correct username and password is used)? [duplicate]


I have a question about accessing file with Samba JCIFS.
So there is a server I want to access, let's call it server.unv.edu and the workgroup is WKGRP.
there is a share in this server: \\server.unv.edu\pcb$
the way I am trying to access to the server is :
public class SMBAuthenticator extends NtlmAuthenticator{
private String username = "username";
private String password = "password";
private String domain = "smb://server.unv.edu/WKGRP/";
public SMBAuthenticator(){
NtlmAuthenticator.setDefault(this);
}
and
public class SMBConnection{
public String urlString = "smb://server.unv.edu/pcb$/path/file.txt";
NtlmPasswordAuthentication auth;
SmbFile smbFile;
public SMBConnection() throws MalformedURLException{;
//url = new URL(urlString);
SMBAuthenticator authenticator = new SMBAuthenticator();
auth = authenticator.getNtlmPasswordAuthentication();
smbFile = new SmbFile(urlString, auth);
}
public InputStream getSMBInputStream() throws IOException{
return this.smbFile.getInputStream();
}
public InputStream getInputStream() throws IOException{
InputStream is = this.getSMBInputStream();
return is;
}
}
but this doesnt work.and I got an error of
jcifs.smb.SmbAuthException: Logon failure: unknown user name or bad password.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:544)
at jcifs.smb.SmbTransport.send(SmbTransport.java:661)
at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:390)
at jcifs.smb.SmbSession.send(SmbSession.java:218)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:176)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:929)
at jcifs.smb.SmbFile.connect(SmbFile.java:954)
at jcifs.smb.SmbFile.connect0(SmbFile.java:880)
at jcifs.smb.SmbFile.open0(SmbFile.java:972)
at jcifs.smb.SmbFile.open(SmbFile.java:1006)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:73)
at jcifs.smb.SmbFileInputStream.<init>(SmbFileInputStream.java:65)
at jcifs.smb.SmbFile.getInputStream(SmbFile.java:2844)
at edu.umd.lib.sambaConnection.SMBConnection.getSMBInputStream(SMBConnection.java:33)
at edu.umd.lib.sambaConnection.SMBConnection.getInputStream(SMBConnection.java:37)
at edu.umd.lib.sambaConnection.SambaConnectionTest.test(SambaConnectionTest.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Can Anyone give me a suggestion or a correctness of my code, to help me access to the file?
Thank you so much.
You are making this harder than it should be. Please follow the below steps and make sure the shared folder you are creating has write access for this user you are using.
download the jar file http://jcifs.samba.org/ (there is only one jar file)
copy and paste the below code with your information for user name, password and shared folder and that's all you need
I was running this on Linux and wanted to write to a Windows box so you want to create a shared folder and put the shared folder name in the below variable
if you don't know how to create shared folder on windows ...use google as always
String user = "your_user_name";
String pass ="your_pass_word";
String sharedFolder="shared";
String path="smb://ip_address/"+sharedFolder+"/test.txt";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("",user, pass);
SmbFile smbFile = new SmbFile(path,auth);
SmbFileOutputStream smbfos = new SmbFileOutputStream(smbFile);
smbfos.write("testing....and writing to a file".getBytes());
System.out.println("completed ...nice !");

Related Links

Setting Block Data from Schematic in Bukkit?
Join two maps by key
No resource identifier found for attribute 'textcolor' in package 'android'
Blocking call to X509ExtendedKeyManager#chooseClientAlias
How to get USABLE screen width and height in Android
Example for safe and unsafe downcast?
Lucene 3.6.2 and Pulsing codec
Scout SDk usage in command line
Error creating bean with name '_muleSimpleRegistryBootstrap
“Step” or “Job” Scope for Spring-Batch beans?
WebSphere 8.5 - Linux OS problems in simple log output
How to get hardware device serial number with help of ip address?
Why &= operator doesn't work the same as &&
Best practices for dealing with exceptions in a synchronized block/method in Java [closed]
Container of Enums in java
Map Type , HashMap constructor [duplicate]

Categories

HOME
hive
atom-editor
urbancode
ngrx
kde
homebrew
raspberry-pi
relayjs
dot
jsp-tags
ebean
django-imagekit
directx
gitpitch
maude-system
here-api
windows-azure-storage
alignment
telephony
graphlab
jsdoc
emulator
custom-wordpress-pages
riot.js
errorlevel
ehcache
mustache.php
microsoft-r
restful-authentication
trading
vlsi
fish
entitlements
assistant
replaceall
objectanimator
gsmcomm
bpel
yadcf
.net-4.0
http-get
copying
winrt-xaml-toolkit
ghost4j
host
overlap
serve
libraries
abstract-class
xenforo
hue
leading-zero
user-controls
sql-server-agent
node-gyp
turbogears
parentheses
tropo
setter
tactic
pdfclown
flutterwave
spring-mongodb
lync-client-sdk
titanium-android
google-cdn
angular-strap
url-pattern
heidisql
asp.net-4.5
fputcsv
hover-over
rvest
energy
rtbkit
marching-cubes
wireshark-dissector
splash
graph-api-explorer
c++03
npapi
nsmutabledictionary
java.util.concurrent
xojo
uitouch
dml
jubula
oracle-warehouse-builder
prettify
dotnetnuke-5
padarn
django-nonrel
random-seed
libstdc++
mt
bluepill
jspinclude
osql
buildr
jquery-ui-layout
removeclass
assembly-loading
bigcouch
custom-backend
doh
spyware
krl
sql-server-profiler
cxxtest
fluent-interface
audio-capture
anti-piracy
sustainable-pace
aquaticprime
post-build
multiple-languages
wsdl.exe

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App