summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/id-wsf/discovery.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c
index 9eff304a..4c4ff191 100644
--- a/lasso/id-wsf/discovery.c
+++ b/lasso/id-wsf/discovery.c
@@ -206,16 +206,22 @@ lasso_discovery_init_modify(LassoDiscovery *discovery,
LassoDiscoResourceOffering *resourceOffering,
LassoDiscoDescription *description)
{
+ LassoSoapEnvelope *envelope;
+ LassoDiscoModify *modify;
+
g_return_val_if_fail(LASSO_IS_DISCOVERY(discovery), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
g_return_val_if_fail(LASSO_IS_DISCO_RESOURCE_OFFERING(resourceOffering),
LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
g_return_val_if_fail(LASSO_IS_DISCO_DESCRIPTION(description),
LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ);
- LASSO_WSF_PROFILE(discovery)->request = LASSO_NODE(lasso_disco_modify_new());
- /*
- * after the call of this method, app must add InsertEntry and RemoveEntry
- */
+ modify = lasso_disco_modify_new();
+ LASSO_WSF_PROFILE(discovery)->request = LASSO_NODE(modify);
+
+ envelope = lasso_wsf_profile_build_soap_envelope(NULL);
+ LASSO_WSF_PROFILE(discovery)->soap_envelope_request = envelope;
+ envelope->Body->any = g_list_append(envelope->Body->any, modify);
+
return lasso_discovery_init_request(discovery, resourceOffering, description);
}