diff options
| -rw-r--r-- | lasso/id-wsf/discovery.c | 14 |
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); } |
