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(); |