"com.hierynomus.mssmb2.SMBApiException: STATUS_BAD_NETWORK_NAME (0xc00000cc): Could not connect to \\\\smbproxy\\greatplains\

0

I am trying to access files from Linux box with hierynomus (SMB protocol) and getting this error.

here is my code

import java.util.EnumSet;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.springframework.stereotype.Component;

import com.hierynomus.msdtyp.AccessMask;
import com.hierynomus.mssmb2.SMB2CreateDisposition;
import com.hierynomus.mssmb2.SMB2ShareAccess;
import com.hierynomus.smbj.SMBClient;
import com.hierynomus.smbj.SmbConfig;
import com.hierynomus.smbj.auth.AuthenticationContext;
import com.hierynomus.smbj.connection.Connection;
import com.hierynomus.smbj.session.Session;
import com.hierynomus.smbj.share.DiskShare;
import com.hierynomus.smbj.share.File;
import com.hierynomus.smbj.transport.tcp.async.AsyncDirectTcpTransportFactory;


@Component
public class SMBHelper {

    private static String USERNAME = "***********";// username
    private static String PASSWORD = "***********"; // password
    private static String DOMAIN = "***********"; // Domain
    private static String sharename = "greatplainsfast"; // sharename
    private static final String SHARE_SRC_DIR = "greatplains";
    private static final String SHARE_DST_DIR = "archive";

    
    public static List<String> getFiles(String pathId) {
        // Set the timeout (optional)
        SmbConfig config = SmbConfig.builder()
                 .withMultiProtocolNegotiate(true)
                 .withSigningRequired(true)
                 .withTransportLayerFactory(new AsyncDirectTcpTransportFactory<>())
                 .withTimeout(120, TimeUnit.SECONDS)
                 .withTimeout(120, TimeUnit.SECONDS) // Timeout sets read, write and Transact timeouts (default is 60 seconds)
                 .withSoTimeout(180, TimeUnit.SECONDS) // Socket timeout (default is 0 seconds)
                .build();
        
        
        SMBClient client = new SMBClient(config);
 
        try {
            Connection connection = client.connect(DOMAIN ); 
            AuthenticationContext ac = new AuthenticationContext(USERNAME, PASSWORD.toCharArray(), DOMAIN);
            
            Session session = connection.authenticate(ac);
            

            // Connect to a shared folder
            DiskShare share = (DiskShare) session.connectShare("greatplainsfast");
            
            if (share.fileExists(pathId)) {
                
                File smbFileRead = share.openFile(pathId, EnumSet.of(AccessMask.GENERIC_READ), null,
                        SMB2ShareAccess.ALL, SMB2CreateDisposition.FILE_OPEN, null);
                
            } else {
                System.out.println("File does not exist");
            }

ERROR Successfully connected to: smbproxy\n","stream":"stdout","time":"2021-01-27T16:50:13.128311213Z"}

c.hierynomus.smbj.connection.Connection : Successfully authenticated greatplains on smbproxy, session is 3455975439\n","stream":"stdout","time":"2021-01-27T16:50:13.138414333Z"}

com.hierynomus.smbj.session.Session : Connecting to \\smbproxy\greatplainsfast on session 3455975439\n","stream":"stdout","time":"2021-01-27T16:50:13.14037554Z"}

{"log":"com.hierynomus.mssmb2.SMBApiException: STATUS_ACCESS_DENIED (0xc0000022): Could not connect to \\smbproxy\greatplainsfast\n","stream":"stderr","time":"2021-01-27T16:50:13.14302621Z"}

java
smb
jcifs
smbj
asked on Stack Overflow Jan 27, 2021 by Vijay

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0