Bill Carlson - 2014-04-08

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.impls.automation.JIDispatchImpl.invoke(
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethodA(
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethodA(
    at org.jinterop.dcom.impls.automation.JIDispatchImpl.callMethod(
    at com.oidev.MSMQSend.main(
Caused by: rpc.FaultException: Received fault. (unknown)
    ... 8 more

I have a test driver and the output at 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