Extention of 'No user available from session' thread


In my deep observastion I find out one service that is failed at auto run time (when main flow service called by scheduler).

that java service name is :"wm.tn.doc:checkUser". This is the service exist in built-in-service wm.tn:submit.

Any one tell me what is the use of "wm.tn.doc:checkUser" service.

But manual process throuth developer the above service is working.


Could you elaborate more on the IS/TN process flow that you did this observation??

About your scheduler/TN submit etc…


Brief flow of my project for inbounds.

EDI files pick from FTP by using service “VAN.ftp:get” then content send to TN through “wm.tn:receive” service.

TN executes service which is in processing rules and everything fine but at the same time we are getting error like:



No user available from session
com.wm.app.b2b.server.ServiceException: No user available from session
at wm.tn.docimpl.checkUser(docimpl.java:1436)

I disable “wm.tn.doc:checkUser” through custom service, and used that custom service instead “wm.tn:receive” then I did not get above error.

Please tell me, is there any problem if I disable “wm.tn.doc:checkUser” service ?

We are not receiving/sending any files directly from/to our trading partners, we exchange all file through FTP only.

We are using WM 7.1

What is the reason you are using VAN.ftp:get instead of pub.client.ftp:get or pub.client:ftp(get mode) plain vanilla ftp services??

Also replace the EDI to TN routing using wm.tn.doc.xml:routeXML instead of tn:receive…


The VAN ftp services are normally used for EDI exchanges. They are also useful in non-EDI contexts. The VAN services are more robust than the plain vanilla services, and submit the retrieved files to TN.

Ravi, I would suggest copying the VAN.ftp:get service to one of your own packages and customizing for your needs.

Can you elaborate more on the “custom service” you mentioned? Which service is it replacing?

As RMG pointed out, you’ll want to use another TN entry service. The checkUser service is called by receive to confirm that the sender of the document is associated with the logged in user. This is a security measure. If you do not want/need this check, then don’t use receive and use routeXml instead (which can be used for EDI, despite its name).