Package com.microstrategy.webapi
Class ACMUserAffinityHandler
- java.lang.Object
 - 
- com.microstrategy.webapi.ACMUserAffinityHandler
 
 
- 
public class ACMUserAffinityHandler extends java.lang.ObjectACMUserAffinityHandlerhandles 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() 
 -