Ошибка при попытке подключиться через Octetbit

classic Classic list List threaded Threaded
7 messages Options
rundesigner rundesigner
Reply | Threaded
Open this post in threaded view
|

Ошибка при попытке подключиться через Octetbit

Использую windows7/Netbeans/jdk16 (x86)
============
run:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
        at com.ipc.oce.v82.VariantFactoryV82.<clinit>(VariantFactoryV82.java:25)
        at com.ipc.oce.v82.ApplicationDriverV82.<init>(ApplicationDriverV82.java:27)
        at com.ipc.oce.ApplicationDriver.loadDriver(ApplicationDriver.java:170)
        at tests.OctitTest.main(OctitTest.java:26)
Java Result: 1
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 0 секунд)

=============================================================================
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tests;

import com.ipc.oce.ApplicationDriver;
import com.ipc.oce.OCApp;
import com.ipc.oce.PropertiesReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import javax.naming.ConfigurationException;

/**
 *
 * @author Днс
 */
public class OctitTest {

    public static void main(String[] args) throws FileNotFoundException, IOException, ConfigurationException {
        try {
            PropertiesReader pr = new PropertiesReader(new File("1c.cfg"));
            Properties configuration = pr.getPropertiesForInstance("inst01");
            ApplicationDriver driver = ApplicationDriver.loadDriver((String) configuration.get(PropertiesReader.OCE_CFG_DRIVER));
            driver.setAutoRegistration(true); // только для самого первого подключения
            OCApp app = OCApp.getNewInstance();
            app.setApplicationDriver(driver);
            try {
                app.connect(configuration);
                // do some useful things
                //... for example
                System.out.println("Computer name: " + app.getComputerName());
            } catch (Exception e) {
                System.out.println("Connect=");
            }
        } catch (Exception e) {
            System.out.println("Reader=");
            e.printStackTrace();
        }
    }
}

--------------------------------
Файл конфигурации.
oce.inst01.driver = V82Driver
oce.inst01.host = 192.168.1.100
oce.inst01.host.user = hostUser1
oce.inst01.host.password = hostPassword1
oce.inst01.1c.dbpath = C:\\CLIENTS\\xxx\\baza
oce.inst01.1c.user =xxx
oce.inst01.1c.password =xxx
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

This post was updated on .
Да, прошу прощения, это было ошибкой использовать apache common-logging. common-logging есть в поставке дистрибутива. В следующих релизах логгер будет заменен на JUL. А пока Вам надо добавить в classpath библиотеку apache common-logging. Взять ее можно с офф. сайта или из "дистрибутива".
http://commons.apache.org/logging/download_logging.cgi.

2All В данный момент ведется перевод проекта на maven. Так что все плюшки с dependency resolving и сборками будут удобнее и проще.
OCTitbit developer.
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

In reply to this post by rundesigner
... кстати, это еще не проблема при опдключении. Самое веселое впереди. Но есть и хорошие новости: все работает, причем в самых извращенных конфигурациях (а-ля vista 64 в кросс-домене).
OCTitbit developer.
rundesigner rundesigner
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

In reply to this post by IgorKonovalov
Спасибо за ответ.
Подключил библиотеку, теперь выходит следующая ошибка.
org.jinterop.dcom.common.JIException: An internal error occurred. [0x8001FFFF]
        at org.jinterop.dcom.core.JIComServer.init(JIComServer.java:576)
        at org.jinterop.dcom.core.JIComServer.initialise(JIComServer.java:481)
        at org.jinterop.dcom.core.JIComServer.<init>(JIComServer.java:445)
        at com.ipc.msa.ComApp.open(ComApp.java:86)
        at com.ipc.oce.OCApp.open(OCApp.java:214)
        at com.ipc.oce.OCApp.connect2Filebased(OCApp.java:1119)
        at com.ipc.oce.OCApp.connect(OCApp.java:1235)
        at tests.OctitTest.main(OctitTest.java:89)
Caused by: java.net.ConnectException: Connection timed out: connect
        at sun.nio.ch.Net.connect(Native Method)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:507)
        at java.nio.channels.SocketChannel.open(SocketChannel.java:146)
        at org.jinterop.dcom.transport.JIComTransport.attach(JIComTransport.java:100)
        at rpc.Stub.attach(Stub.java:106)
        at org.jinterop.dcom.core.JIComServer.init(JIComServer.java:553)

Игорь теперь вот такая ошибка происходит.
П.С. Я в файле русскими буквами забил данные пользователя и пароль.
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

"Connection timed out" и по трейсу вообще: ком-сервер не виден, удаленный хост доступн? Может firewall? До логин-пароля дело еще не дошло. Там, если что, будут другие ошибки.
По поводу русских букв. В принципе это нормально, но лучше пишите по-русски или в utf-8 или юникодами.

+ по конфигурированию DCOM я рекомендую обратиться к первоисточнику: http://www.j-interop.org/faq.html#A5
OCTitbit developer.
rundesigner rundesigner
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

Ага.
Начал тестировать интероптовские примеры - не пошли. Начал искать ошибки в инете - надыбал на форуме интеропта, что служба удаленного реестра по умолчанию не запущена в виндовс7.
Включил - в интероптовском примере появилась ошибка.

run:
10.03.2012 19:47:20 org.jinterop.dcom.common.JISystem logSystemPropertiesAndVersion
INFO: j-Interop Version = j-Interop 2.08

10.03.2012 19:47:20 org.jinterop.dcom.common.JISystem logSystemPropertiesAndVersion
INFO: java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files (x86)\Java\jdk1.6.0\jre\bin
java.vm.version = 1.6.0-b105
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = RU
sun.os.patch.level = Service Pack 1
java.vm.specification.name = Java Virtual Machine Specification
user.dir = C:\NETBEANSPROJECTS\JAVA_SOURCES\2.4.1
java.runtime.version = 1.6.0-b105
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\endorsed
os.arch = x86
java.io.tmpdir = C:\Users\B12E~1\AppData\Local\Temp\
line.separator =

java.vm.specification.vendor = Sun Microsystems Inc.
user.variant =
os.name = Windows Vista
sun.jnu.encoding = Cp1251
java.library.path = C:\Program Files (x86)\Java\jdk1.6.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\EgisTec MyWinLocker\x64;C:\Program Files (x86)\EgisTec MyWinLocker\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;c:\Program Files (x86)\NSIS;C:\Program Files\Aladdin\eToken\PKIClient\x32;C:\Program Files\Aladdin\eToken\PKIClient\x64;C:\Program Files (x86)\Java\jdk1.6.0\bin
java.specification.name = Java Platform API Specification
java.class.version = 50.0
sun.management.compiler = HotSpot Client Compiler
os.version = 6.1
user.home = C:\Users\Днс
user.timezone = Europe/Moscow
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = UTF-8
java.specification.version = 1.6
java.class.path = C:\Program Files\NetBeans 7.0.1\java\modules\ext\appframework-1.0.3.jar;C:\Program Files\NetBeans 7.0.1\java\modules\ext\swing-worker-1.1.jar;C:\Program Files\NetBeans 7.0.1\platform\modules\ext\swing-layout-1.0.4.jar;C:\Program Files\NetBeans 7.0.1\ide\modules\ext\mysql-connector-java-5.1.13-bin.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\ibatis-2.3.0.677.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\jimi-1.0.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\commons-codec-1.3.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\hsqldb.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\synthetica.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\syntheticaBlueMoon.jar;C:\Program Files\NetBeans 7.0.1\java\modules\ext\AbsoluteLayout.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\gnu-regexp.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\SimplyHTMLHelp.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\edtftpj.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\ftp4j-1.4.3.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\DatePicker-V0.99-2006.09.01.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\jai_codec.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\jai_core.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\mlibwrapper_jai.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\xmlrpc-client-3.1.3.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\xmlrpc-common-3.1.3.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\ws-commons-util-1.0.2.jar;C:\Program Files\NetBeans 7.0.1\java\modules\ext\beansbinding-1.2.1.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\SimplyHTML.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\htmlcleaner-2.2.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\jxl.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\commons-lang-2.6.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\j-interop.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\oce-core-0.5.3-iridium.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\j-interopdeps.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\commons-logging-1.1.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\SharedLibs\jcifs-1.2.19.jar;C:\NETBEANSPROJECTS\JAVA_SOURCES\2.4.1\build\classes;C:\NETBEANSPROJECTS\JAVA_SOURCES\2.4.1\src
user.name = Днс
java.vm.specification.version = 1.0
java.home = C:\Program Files (x86)\Java\jdk1.6.0\jre
sun.arch.data.model = 32
user.language = ru
java.specification.vendor = Sun Microsystems Inc.
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode
java.version = 1.6.0
java.ext.dirs = C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path = C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\rt.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\jsse.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.6.0\jre\classes
java.vendor = Sun Microsystems Inc.
file.separator = \
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.desktop = windows
sun.cpu.isalist =

10.03.2012 19:47:20 org.jinterop.dcom.core.JIComOxidRuntime$ServerPingTimerTask run
INFO: Running ServerPingTimerTask !
10.03.2012 19:47:20 org.jinterop.dcom.core.JISession createSession
INFO: Created Session: 1276879679
10.03.2012 19:47:20 org.jinterop.dcom.core.JIComOxidRuntime$ClientPingTimerTask run
INFO: Running ClientPingTimerTask !
10.03.2012 19:47:20 org.jinterop.dcom.common.JISystem saveDBPathAndLoadFile
INFO: progIdVsClsidDB: {}
10.03.2012 19:47:26 rpc.DefaultConnection processOutgoing
INFO:
 Sending BIND
10.03.2012 19:47:26 rpc.DefaultConnection processIncoming
INFO:
 Recieved BIND_ACK
10.03.2012 19:47:26 rpc.DefaultConnection processOutgoing
INFO:
 Sending REQUEST
10.03.2012 19:47:26 rpc.DefaultConnection processIncoming
INFO:
 Recieved RESPONSE
10.03.2012 19:47:26 rpc.DefaultConnection processOutgoing
INFO:
 Sending REQUEST
10.03.2012 19:47:26 rpc.DefaultConnection processIncoming
INFO:
 Recieved RESPONSE
Reader=
org.jinterop.dcom.common.JIException: Access is denied, please check whether the [domain-username-password] are correct. Also, if not already done please check the GETTING STARTED and FAQ sections in readme.htm. They provide information on how to correctly configure the Windows machine for DCOM access, so as to avoid such exceptions.  [0x00000005]
        at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenKey(JIWinRegStub.java:197)
        at org.jinterop.dcom.core.JIProgId.getIdFromWinReg(JIProgId.java:131)
        at org.jinterop.dcom.core.JIProgId.getCorrespondingCLSID(JIProgId.java:162)
        at org.jinterop.dcom.core.JIComServer.<init>(JIComServer.java:413)
        at tests.OctitTest.main(OctitTest.java:114)
Caused by: org.jinterop.dcom.common.JIRuntimeException: Access is denied, please check whether the [domain-username-password] are correct. Also, if not already done please check the GETTING STARTED and FAQ sections in readme.htm. They provide information on how to correctly configure the Windows machine for DCOM access, so as to avoid such exceptions.  [0x00000005]
        at org.jinterop.winreg.IJIWinReg$openKey.read(IJIWinReg.java:939)
        at ndr.NdrObject.decode(NdrObject.java:36)
        at rpc.ConnectionOrientedEndpoint.call(ConnectionOrientedEndpoint.java:137)
        at rpc.Stub.call(Stub.java:113)
        at org.jinterop.winreg.smb.JIWinRegStub.winreg_OpenKey(JIWinRegStub.java:191)
        ... 4 more
10.03.2012 19:47:26 org.jinterop.dcom.core.JISession postDestroy
INFO: About to destroy links for Session: 1276879679 , size of which is 0
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 7 секунд)

П.С. Я так понимаю, что если интероптовский пример не работает, то к отладке примеров с octetbit переходить еще рано.
IgorKonovalov IgorKonovalov
Reply | Threaded
Open this post in threaded view
|

Re: Ошибка при попытке подключиться через Octetbit

This post was updated on .
rundesigner wrote
П.С. Я так понимаю, что если интероптовский пример не работает, то к отладке примеров с octetbit переходить еще рано.
Вопрос конечно интересный... Можно и j-interop гонять.
Access denied это уже теплее. Это отказ в соединении с хостом, пока не происходит поиск объекта dcom COMConnector 1С и не производится подключение к 1С. AccessDenied может быть банальным следствием включенного (ненастроенного) firewall.

Кстати, помнится с win7 у меня получилось по hard way от j-interop. С autoRegistration и правами на автоматическую корректировку реестра я мучаться не стал.
OCTitbit developer.