Package com.microstrategy.webapi
Class ACMUserAffinityHandler
- java.lang.Object
-
- com.microstrategy.webapi.ACMUserAffinityHandler
-
public class ACMUserAffinityHandler extends java.lang.Object
ACMUserAffinityHandler
handles the User Affinity condition returned by IServer when making an XML API call that creates a Session Id.
The main method "handleUserAffinity" is called in the middle of CDSSXMLServerSessionImpl.hCreateSession(). At this point, the decision logic has already made a choice and we tried it. But, alas, IServer tells us that User Affinity tells us to use a different IServer. That call was a CreateSession XML API call. Note, it has gotten partial success and partial failure.
The Session Id returned is "valid" and looks like this:
- "00000000000000000000000000000000tec-w-012512@34952$PROJECT"
The CDSSMsg replyMsg is filled with an error:- ErrorCode = WebAPIErrorCodes.MSI_CLUSTER_AFFINITY_LOGIN_SERVER
- ErrorMessage = "(Please login to the following server to reduce synchronization needs: tec-w-012513)"
Some oddities to be aware:- The session id is all zeros
- The error message is surrounded by ()
- The IServer that should be used is specified in the error message
- There are two spaces after the colon then the IServer that should be used is specified
- "00000000000000000000000000000000tec-w-012512@34952$PROJECT"
-
-
Constructor Summary
Constructors Constructor Description ACMUserAffinityHandler()
-