summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-07-19 23:22:55 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-07-19 23:22:55 +0000
commit702f7e7312b6e77e15e50f54cfcd632ae342599c (patch)
tree242515374e4882c7ab2cd27b1d11cecd46f59cbe
parenta8580ecb6b556e2ad052765c9da88a632194890d (diff)
downloadlasso-702f7e7312b6e77e15e50f54cfcd632ae342599c.tar.gz
lasso-702f7e7312b6e77e15e50f54cfcd632ae342599c.tar.xz
lasso-702f7e7312b6e77e15e50f54cfcd632ae342599c.zip
Little fix in lasso_node_impl_export_to_soap()
-rw-r--r--lasso/xml/xml.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index 420fb9c8..46c3e0b7 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -645,7 +645,7 @@ lasso_node_impl_export_to_query(LassoNode *node,
static xmlChar *
lasso_node_impl_export_to_soap(LassoNode *node)
{
- LassoNode *envelope, *body;
+ LassoNode *envelope, *body, *copy_node;
xmlChar *buffer;
g_return_val_if_fail (LASSO_IS_NODE(node), NULL);
@@ -653,18 +653,21 @@ lasso_node_impl_export_to_soap(LassoNode *node)
envelope = lasso_node_new();
lasso_node_set_name(envelope, "Envelope");
lasso_node_set_ns(envelope, lassoSoapEnvHRef, lassoSoapEnvPrefix);
+
+ copy_node = lasso_node_copy(node);
body = lasso_node_new();
lasso_node_set_name(body, "Body");
lasso_node_set_ns(body, lassoSoapEnvHRef, lassoSoapEnvPrefix);
- lasso_node_add_child(body, node, FALSE);
+ lasso_node_add_child(body, copy_node, FALSE);
lasso_node_add_child(envelope, body, FALSE);
buffer = lasso_node_export(envelope);
- lasso_node_destroy(envelope);
+ lasso_node_destroy(copy_node);
lasso_node_destroy(body);
+ lasso_node_destroy(envelope);
return(buffer);
}