processModifyResponseMsg

This commit is contained in:
Damien Laniel 2007-08-08 16:03:29 +00:00
parent 7335073944
commit 73db5fc58f
5 changed files with 48 additions and 1 deletions

View File

@ -218,6 +218,8 @@ lasso_strerror(int error_code)
return "Query partially failed : some items were correctly processed";
case LASSO_DST_ERROR_MODIFY_FAILED:
return "Modify failed";
case LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED:
return "Modify partially failed : some items were correctly processed";
case LASSO_DST_ERROR_NEW_DATA_MISSING:
return "Missing new data";

View File

@ -156,5 +156,6 @@
#define LASSO_DST_ERROR_QUERY_FAILED -1301
#define LASSO_DST_ERROR_QUERY_PARTIALLY_FAILED -1302
#define LASSO_DST_ERROR_MODIFY_FAILED -1303
#define LASSO_DST_ERROR_NEW_DATA_MISSING -1304
#define LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED -1304
#define LASSO_DST_ERROR_NEW_DATA_MISSING -1305

View File

@ -732,6 +732,41 @@ lasso_idwsf2_data_service_parse_modify_items(LassoIdWsf2DataService *service)
return res;
}
gint
lasso_idwsf2_data_service_process_modify_response_msg(LassoIdWsf2DataService *service,
const gchar *message)
{
LassoIdWsf2Profile *profile = LASSO_IDWSF2_PROFILE(service);
LassoIdWsf2UtilResponse *response;
int res;
g_return_val_if_fail(LASSO_IS_IDWSF2_DATA_SERVICE(service),
LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
g_return_val_if_fail(message != NULL, LASSO_PARAM_ERROR_INVALID_VALUE);
res = lasso_idwsf2_profile_process_soap_response_msg(profile, message);
if (res != 0) {
return res;
}
if (! LASSO_IS_IDWSF2_DSTREF_MODIFY_RESPONSE(LASSO_PROFILE(profile)->response)) {
return LASSO_PROFILE_ERROR_INVALID_SOAP_MSG;
}
/* Check response status code */
response = LASSO_IDWSF2_UTIL_RESPONSE(LASSO_PROFILE(profile)->response);
if (response->Status == NULL || response->Status->code == NULL) {
return LASSO_PROFILE_ERROR_MISSING_STATUS_CODE;
}
if (strcmp(response->Status->code, LASSO_DST_STATUS_CODE_PARTIAL) == 0) {
return LASSO_DST_ERROR_MODIFY_PARTIALLY_FAILED;
} else if (strcmp(response->Status->code, LASSO_DST_STATUS_CODE_OK) != 0) {
return LASSO_DST_ERROR_MODIFY_FAILED;
}
return 0;
}
/*****************************************************************************/
/* private methods */
/*****************************************************************************/

View File

@ -109,6 +109,9 @@ LASSO_EXPORT gint lasso_idwsf2_data_service_process_modify_msg(LassoIdWsf2DataSe
LASSO_EXPORT gint lasso_idwsf2_data_service_parse_modify_items(LassoIdWsf2DataService *service);
LASSO_EXPORT gint lasso_idwsf2_data_service_process_modify_response_msg(
LassoIdWsf2DataService *service, const gchar *message);
#ifdef __cplusplus
}
#endif /* __cplusplus */

View File

@ -398,6 +398,10 @@ typedef struct {
THROW_ERROR()
int parseModifyItems();
END_THROW_ERROR()
THROW_ERROR()
int processModifyResponseMsg(const char *message);
END_THROW_ERROR()
}
%{
@ -484,6 +488,8 @@ typedef struct {
#define LassoIdWsf2DataService_addModifyItem lasso_idwsf2_data_service_add_modify_item
#define LassoIdWsf2DataService_processModifyMsg lasso_idwsf2_data_service_process_modify_msg
#define LassoIdWsf2DataService_parseModifyItems lasso_idwsf2_data_service_parse_modify_items
#define LassoIdWsf2DataService_processModifyResponseMsg \
lasso_idwsf2_data_service_process_modify_response_msg
%}