same issue and find resolution in empower:
Sometime the Integration Server does not get the invoke state.
Please try adding a new Invoke state before you do the invoke.
InvokeState is = new InvokeState();
Session session = Service.getSession();
User olduser = session.getUser();
InvokeState.setCurrentSession(session);
InvokeState.setSessionUser(olduser);
output = Service.doInvoke(nsServiceName, is.getSession(), input);