|
|
|
|
@ -341,74 +341,67 @@ public static HTTPResponseResult postForm(String address,
|
|
|
|
|
ArrayList<String> formParamValues,
|
|
|
|
|
int usernameParamIx,
|
|
|
|
|
int passwordParamIx)
|
|
|
|
|
throws Throwable
|
|
|
|
|
{
|
|
|
|
|
DefaultHttpClient httpClient;
|
|
|
|
|
HttpPost postMethod;
|
|
|
|
|
HttpEntity resEntity = null;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// if any authentication exception rise while executing
|
|
|
|
|
// will retry
|
|
|
|
|
AuthenticationException authEx;
|
|
|
|
|
HTTPCredentialsProvider credentialsProvider = null;
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
postMethod = new HttpPost(address);
|
|
|
|
|
httpClient = getHttpClient(
|
|
|
|
|
usernamePropertyName, passwordPropertyName,
|
|
|
|
|
postMethod.getURI().getHost(), credentialsProvider);
|
|
|
|
|
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// execute post
|
|
|
|
|
resEntity = postForm(
|
|
|
|
|
httpClient,
|
|
|
|
|
postMethod,
|
|
|
|
|
address,
|
|
|
|
|
usernamePropertyName,
|
|
|
|
|
passwordPropertyName,
|
|
|
|
|
formParamNames,
|
|
|
|
|
formParamValues,
|
|
|
|
|
usernameParamIx,
|
|
|
|
|
passwordParamIx);
|
|
|
|
|
|
|
|
|
|
authEx = null;
|
|
|
|
|
}
|
|
|
|
|
catch(AuthenticationException ex)
|
|
|
|
|
{
|
|
|
|
|
authEx = ex;
|
|
|
|
|
// if any authentication exception rise while executing
|
|
|
|
|
// will retry
|
|
|
|
|
AuthenticationException authEx;
|
|
|
|
|
HTTPCredentialsProvider credentialsProvider = null;
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
postMethod = new HttpPost(address);
|
|
|
|
|
httpClient = getHttpClient(
|
|
|
|
|
usernamePropertyName, passwordPropertyName,
|
|
|
|
|
postMethod.getURI().getHost(), credentialsProvider);
|
|
|
|
|
|
|
|
|
|
// lets reuse credentialsProvider
|
|
|
|
|
credentialsProvider = (HTTPCredentialsProvider)
|
|
|
|
|
httpClient.getCredentialsProvider();
|
|
|
|
|
String userName = credentialsProvider.authUsername;
|
|
|
|
|
|
|
|
|
|
// clear
|
|
|
|
|
credentialsProvider.clear();
|
|
|
|
|
|
|
|
|
|
// lets show the same username
|
|
|
|
|
credentialsProvider.authUsername = userName;
|
|
|
|
|
credentialsProvider.errorMessage =
|
|
|
|
|
HttpUtilActivator.getResources().getI18NString(
|
|
|
|
|
"service.gui.AUTHENTICATION_FAILED",
|
|
|
|
|
new String[]
|
|
|
|
|
{credentialsProvider.usedScope.getHost()});
|
|
|
|
|
}
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
// execute post
|
|
|
|
|
resEntity = postForm(
|
|
|
|
|
httpClient,
|
|
|
|
|
postMethod,
|
|
|
|
|
address,
|
|
|
|
|
usernamePropertyName,
|
|
|
|
|
passwordPropertyName,
|
|
|
|
|
formParamNames,
|
|
|
|
|
formParamValues,
|
|
|
|
|
usernameParamIx,
|
|
|
|
|
passwordParamIx);
|
|
|
|
|
|
|
|
|
|
authEx = null;
|
|
|
|
|
}
|
|
|
|
|
while(authEx != null);
|
|
|
|
|
|
|
|
|
|
// canceled or no result
|
|
|
|
|
if(resEntity == null)
|
|
|
|
|
return null;
|
|
|
|
|
catch(AuthenticationException ex)
|
|
|
|
|
{
|
|
|
|
|
authEx = ex;
|
|
|
|
|
|
|
|
|
|
return new HTTPResponseResult(resEntity, httpClient);
|
|
|
|
|
}
|
|
|
|
|
catch(Throwable e)
|
|
|
|
|
{
|
|
|
|
|
logger.error("Error posting form", e);
|
|
|
|
|
// lets reuse credentialsProvider
|
|
|
|
|
credentialsProvider = (HTTPCredentialsProvider)
|
|
|
|
|
httpClient.getCredentialsProvider();
|
|
|
|
|
String userName = credentialsProvider.authUsername;
|
|
|
|
|
|
|
|
|
|
// clear
|
|
|
|
|
credentialsProvider.clear();
|
|
|
|
|
|
|
|
|
|
// lets show the same username
|
|
|
|
|
credentialsProvider.authUsername = userName;
|
|
|
|
|
credentialsProvider.errorMessage =
|
|
|
|
|
HttpUtilActivator.getResources().getI18NString(
|
|
|
|
|
"service.gui.AUTHENTICATION_FAILED",
|
|
|
|
|
new String[]
|
|
|
|
|
{credentialsProvider.usedScope.getHost()});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
while(authEx != null);
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
// canceled or no result
|
|
|
|
|
if(resEntity == null)
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
|
|
return new HTTPResponseResult(resEntity, httpClient);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|