0x800706BE - Error

Help
2013-08-22
2013-10-11
  • Gustavo Leitão

    Gustavo Leitão - 2013-08-22

    I am trying to establish communication with the ABB OPC A&E (ABb.OPCEventServer.1). Everything was working fine until attempting to register a callback. Befalls fails to perform the attach operation.

    The server is in a domain and the client in another. I am using domain authentication. I've tried to use the newest version of the j-interop but the error persists.

    The program works properly on multiple other servers and even ABB. This was the first time I tried to use the domain authentication. The client code does not seem to be wrong, because we have used this tool with multiple servers.

    The DCOM settings are correct because I can connect with others clients using DCOM Native.

    I really need your help because I've tried everything. I have jinterop and wireshark logs and I can send to anyone who disposer to help!


    stacktrace ----------------------------------------------------

    org.jinterop.dcom.common.JIException: Message not found for errorCode: 0x800706BE
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:999) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:945) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:271) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:156) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JIFrameworkHelper.attachEventHandler(JIFrameworkHelper.java:283) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.openscada.opc.dcom.ae.impl.OPCEventSubscriptionMgt.attach(OPCEventSubscriptionMgt.java:275) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.openscada.opc.lib.ae.EventSubscription.attach(EventSubscription.java:61) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at br.ufrn.lii.driver.opcae.OPCAEDriver.createSubscription(OPCAEDriver.java:173) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_25]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_25]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_25]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_25]
    at ...........
    Caused by: org.jinterop.dcom.common.JIRuntimeException: Message not found for errorCode: 0x800706BE
    at org.jinterop.dcom.core.JICallBuilder.readResult(JICallBuilder.java:1095) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JICallBuilder.read(JICallBuilder.java:969) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at ndr.NdrObject.decode(NdrObject.java:36) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at rpc.ConnectionOrientedEndpoint.call(ConnectionOrientedEndpoint.java:137) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at rpc.Stub.call(Stub.java:113) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:990) ~[BRCollector-1.1.9-SNAPSHOT-jar-with-dependencies.jar:1.1.9-SNAPSHOT]
    ... 30 common frames omitted

    J-interop LOG error:


    FINEST:


    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection processIncoming
    INFO:
    Recieved BIND
    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection detachAuthentication
    FINEST:
    In [detachAuthentication] (after stripping authn info) setting new FRAG_LENGTH_OFFSET for the packet as = 72
    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection processOutgoing
    INFO:
    Sending BIND_ACK
    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection transmitFragment
    FINEST: [TRANSMIT BUFFER]:-
    00000: 05 00 0C 03 10 00 00 00 38 00 00 00 02 00 00 00 |........8.......|
    00010: F8 1B F8 1B CC E4 4C 00 00 00 00 00 01 00 00 00 |ø.ø.ÌäL.........|
    00020: 00 00 00 00 04 5D 88 8A EB 1C C9 11 9F E8 08 00 |.....]..ë.É..è..|
    00030: 2B 10 48 60 02 00 00 00 |+.H`.... |

    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection receiveFragment
    FINEST:
    Reading bytes from RecieveBuffer Socket...Current Capacity:- 7160
    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection receiveFragment
    FINEST: [RECIEVER BUFFER] Full packet is dumped below...
    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection receiveFragment
    FINEST:
    00000: 05 00 0B 03 10 00 00 00 78 00 28 00 02 00 00 00 |........x.(.....|

    Aug 22, 2013 9:35:50 AM rpc.DefaultConnection receiveFragment
    FINEST:
    Bytes read from RecieveBuffer Socket:- -1
    Aug 22, 2013 9:35:50 AM Oxid Resolver Thread run
    FINER: THROW
    java.io.IOException: Socket Closed
    at rpc.DefaultConnection.receiveFragment(DefaultConnection.java:395)
    at rpc.DefaultConnection.receive(DefaultConnection.java:86)
    at rpc.ConnectionOrientedEndpoint.receive(ConnectionOrientedEndpoint.java:226)
    at org.jinterop.dcom.transport.JIComRuntimeEndpoint.processRequests(JIComRuntimeEndpoint.java:92)
    at org.jinterop.dcom.core.JIComOxidRuntimeHelper$1.run(JIComOxidRuntimeHelper.java:87)
    at java.lang.Thread.run(Unknown Source)

     
    Last edit: Gustavo Leitão 2013-08-22
  • Andrey Romanenko

    Olá Gustavo,

    Ok, I'd like to share with you one really tough situation where we had a difficulty with callbacks. It was an async OPC DA connection, not AE but the idea is the same.

    In that case, the OPC server computer netmask was misconfigured and so was the broadcast address, for instance, instead of 192.168.1.0/24 it was 192.168.1.0/16 and the broadcast ip, instead of 192.168.1.255 was 192.168.255.255.

    The synch OPC DA calls were working very well because both the client and server were in the low ips (192.168.1.1 and 182.168.1.2).

    However, callback registration would result in the error that you describe 0x800706BE. The reason for that was that the client was giving a name (for instance "CLIENT") to the server to be called back and the server would send a netbios name resolution ("Whois is CLIENT???") on the wrong broadcast address. Since the broadcast address was wrong, the client would not answer "This is me!" and the callback connection initialization would fail.

    So, to make the long story short, check if the network configuration is consistent on both systems! Boa sorte!

     
  • Gustavo Leitão

    Gustavo Leitão - 2013-09-18

    Thanks Andrey. I will test soon!

     
  • Gustavo Leitão

    Gustavo Leitão - 2013-10-08

    Setting netmask is ok. However I realized that this error only happens in the new version of j-Interop. Version 2.0.8 works perfectly.

     
  • Gustavo Leitão

    Gustavo Leitão - 2013-10-11

    [SOLVED]
    The problem is related with JISession.useSessionSecurity property!
    When this parameter is true the 0x800706BE error happens when trying attach a callback.
    If this parameter is false everything works perfectly.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks