webservices/wsoviplugin/src/wsoviserviceupdatehandler.cpp
changeset 1 272b002df977
parent 0 62f9d29f7211
child 7 7bc6ab9b5bcd
child 23 a1df79fa35b4
equal deleted inserted replaced
0:62f9d29f7211 1:272b002df977
    80     //fault scenarios
    80     //fault scenarios
    81     if (message && errorCode)
    81     if (message && errorCode)
    82     	{
    82     	{
    83 	    if (*errorCode == EHttp_401_Unauthorized-KHttpPluginStatusBase)
    83 	    if (*errorCode == EHttp_401_Unauthorized-KHttpPluginStatusBase)
    84 	        {
    84 	        {
       
    85 		 	TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("*errorCode == EHttp_401_Unauthorized-KHttpPluginStatusBase")));
    85 	        CWSOviErrorResponse* errFragment = CWSOviErrorResponse::NewLC();
    86 	        CWSOviErrorResponse* errFragment = CWSOviErrorResponse::NewLC();
    86 	        errFragment->SetReader(*iHandlerContext.GetSenCoreServiceManager()->XMLReader());
    87 	        errFragment->SetReader(*iHandlerContext.GetSenCoreServiceManager()->XMLReader());
    87 	        errFragment->BuildFrom(*message);
    88 	        errFragment->BuildFrom(*message);
    88 	        if (! errFragment->Code().Compare(WSOviResponse::KErrorCodeInvalidAccessToken()))
    89 	        if (! errFragment->Code().Compare(WSOviResponse::KErrorCodeInvalidAccessToken()))
    89 	            {
    90 	            {
       
    91 				 TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L(" ---- WSOviResponse::KErrorCodeInvalidAccessToken()")));
    90 	            if (!pCtx.GetSenRemoteServiceSessionL(WSOviContextKeys::KServiceSession))
    92 	            if (!pCtx.GetSenRemoteServiceSessionL(WSOviContextKeys::KServiceSession))
    91 	                {
    93 	                {
    92 	                pCtx.Add(WSOviContextKeys::KServiceSession, *(MSenRemoteServiceSession*)remoteServiceSession);
    94 	                pCtx.Add(WSOviContextKeys::KServiceSession, *(MSenRemoteServiceSession*)remoteServiceSession);
    93 	                }
    95 	                }
    94 	            pCtx.Update(WSOviContextKeys::KReAuthNeeded, ETrue);
    96 	            pCtx.Update(WSOviContextKeys::KReAuthNeeded, ETrue);
    95 	            oviServiceSession->ClearCredentialL();
    97 	            oviServiceSession->ClearCredentialL();
    96 	            oviServiceSession->SetStatusL();//in order to compute state
    98 	            oviServiceSession->SetStatusL();//in order to compute state
    97 	            }
    99 	            }
    98 	        else if(! errFragment->Code().Compare(WSOviResponse::KErrorCodeUnauthorized()))
   100 	        else if(! errFragment->Code().Compare(WSOviResponse::KErrorCodeUnauthorized()))
    99 	            {
   101 	            {
       
   102 			 	TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("----- WSOviResponse::KErrorCodeUnauthorized()")));
   100 	            MSenProperties* tp = (MSenProperties*)pCtx.GetAnyL(WSOviContextKeys::KTP());
   103 	            MSenProperties* tp = (MSenProperties*)pCtx.GetAnyL(WSOviContextKeys::KTP());
   101 	            if (tp) 
   104 	            if (tp) 
   102 	                {
   105 	                {
       
   106 					TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("----- WSOviContextKeys::KTP() Found")));
   103 	                switch (tp->PropertiesClassType())
   107 	                switch (tp->PropertiesClassType())
   104 	                    {
   108 	                    {
   105 	                    case MSenProperties::ESenHttpTransportProperties:
   109 	                    case MSenProperties::ESenHttpTransportProperties:
   106 	                        {
   110 	                        {
   107 	                        TInt minutes;
   111 	                        TInt minutes;
   120 	                    }
   124 	                    }
   121 	                }
   125 	                }
   122 	            }
   126 	            }
   123 	        CleanupStack::PopAndDestroy(errFragment);
   127 	        CleanupStack::PopAndDestroy(errFragment);
   124 	        }
   128 	        }
       
   129 		else if(*errorCode == 403) //Handling 403 resource not found error
       
   130 			{
       
   131 			TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("*errorCode == 403 ")));
       
   132 			CWSOviErrorResponse* errFragment = CWSOviErrorResponse::NewLC();
       
   133 			errFragment->SetReader(*iHandlerContext.GetSenCoreServiceManager()->XMLReader());
       
   134 			errFragment->BuildFrom(*message);
       
   135 			if(! errFragment->Code().Compare(WSOviResponse::KErrorCodeUnauthorized()))
       
   136 				{			
       
   137                     TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("----- if WSOviResponse::KErrorCodeUnauthorized()")));
       
   138 					if (!pCtx.GetSenRemoteServiceSessionL(WSOviContextKeys::KServiceSession))
       
   139 						{
       
   140 						pCtx.Add(WSOviContextKeys::KServiceSession, *(MSenRemoteServiceSession*)remoteServiceSession);
       
   141 						}
       
   142 					pCtx.Update(WSOviContextKeys::KReAuthNeeded, ETrue);
       
   143 					oviServiceSession->ClearCredentialL();
       
   144 					oviServiceSession->SetStatusL();//in order to compute state
       
   145 				}
       
   146 			else
       
   147 			    {
       
   148                 TLSLOG(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,(_L("-----else  WSOviResponse::KErrorCodeUnauthorized()")));
       
   149 				if (!pCtx.GetSenRemoteServiceSessionL(WSOviContextKeys::KServiceSession))
       
   150 				    {
       
   151 				    pCtx.Add(WSOviContextKeys::KServiceSession, *(MSenRemoteServiceSession*)remoteServiceSession);
       
   152 				    }
       
   153 		            pCtx.Update(WSOviContextKeys::KReAuthNeeded, ETrue);
       
   154 		            oviServiceSession->ClearCredentialL();
       
   155 		            oviServiceSession->SetStatusL();//in order to compute state                
       
   156 			    }
       
   157 			CleanupStack::PopAndDestroy(errFragment);
       
   158 			}
   125 	    //positive scenario, for example: signup proces already returns token
   159 	    //positive scenario, for example: signup proces already returns token
   126 	    else if (*errorCode == KErrNone)
   160 	    else if (*errorCode == KErrNone)
   127 	        {
   161 	        {
   128             TLSLOG_L(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,"CWSOviPlugin::ProcessInboundDispatch - token exists");
   162             TLSLOG_L(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,"CWSOviPlugin::ProcessInboundDispatch - token exists");
   129             CWSOviTokenCreationResponse* responseFragment = CWSOviTokenCreationResponse::NewLC();
   163             CWSOviTokenCreationResponse* responseFragment = CWSOviTokenCreationResponse::NewLC();
   189                     }
   223                     }
   190                 }
   224                 }
   191             CleanupStack::PopAndDestroy(responseFragment);
   225             CleanupStack::PopAndDestroy(responseFragment);
   192             pCtx.Update(WSOviContextKeys::KRetryNeeded, 0);
   226             pCtx.Update(WSOviContextKeys::KRetryNeeded, 0);
   193 	        }
   227 	        }
       
   228 		else
       
   229 			{
       
   230 	        TLSLOG_L(KSenCoreServiceManagerLogChannelBase  , KMinLogLevel,"---- Neither 401 nor KErrNone !!");
       
   231 			}
   194     	}
   232     	}
   195     return KErrNone;
   233     return KErrNone;
   196     }
   234     }
   197     
   235     
   198 SenHandler::THandlerDirection CWSOviServiceUpdateHandler::Direction() const
   236 SenHandler::THandlerDirection CWSOviServiceUpdateHandler::Direction() const