I am using j-interop to work with MSMQ, and have been extremely happy with it. However, I am running into an issue where sending multiple messages over a queue is resulting in an 0x800401FD error. Specifically, it will send two messages, and then error out with the following error:

Exception in thread "main" 
    org.jinterop.dcom.common.JIException: Message not found for errorCode: 0x800401FD

    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:994)
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:945)
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:271)
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:156)
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.invoke(JIDispatchImpl.java:313)
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethodA(JIDispatchImpl.java:518)
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethodA(JIDispatchImpl.java:524)
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethod(JIDispatchImpl.java:463)
    at com.oidev.MSMQSend.main(MSMQSend.java:50)
Caused by: rpc.FaultException: Received fault. (unknown)
    at rpc.ConnectionOrientedEndpoint.call(ConnectionOrientedEndpoint.java:141)
    at rpc.Stub.call(Stub.java:113)
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:990)
    ... 8 more

I have a test driver and the output at https://gist.github.com/coacoas/5ccf4ab0e49456a76993 or I can send a jar file containing all dependencies (except ntlmauth.dll), if necessary.

This is using the latest (3.0.0) release. I also checked against the HEAD of the subversion repository, and this issue appears to still exist.

To run the driver:
- Create a local private message queue.
- Ensure that ntlmauth.dll is in your java.library.path
- Execute with the command line parameters: FormatName [message [label]]

For instance, to run the driver on my system, I executed:
java -jar jinterop-issue.jar "DIRECT=OS:localhost\private$\bcarlson"

What am I doing wrong here? I would love to be able to keep the queue connection open for a long time, and send messages intermittently.

-=Bill Carlson=-

Last edit: Bill Carlson 2014-04-08