summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-10-09 12:41:44 +0000
committerDmitry Stogov <dmitry@php.net>2005-10-09 12:41:44 +0000
commit303a642a0d2c8d755ec45ab22590cbc39ee58ca0 (patch)
tree6f5f273eab45e29e161d84c517ed12ac321fe48d /ext/soap/php_encoding.c
parent5dd9ad8f53ea9f41232ed68d9f3bde1fafd972e4 (diff)
downloadphp-git-303a642a0d2c8d755ec45ab22590cbc39ee58ca0.tar.gz
Fixed bug #34788 (SOAP Client not applying correct namespace to generated values)
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 7652c1d391..5905bc2d6a 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1380,7 +1380,7 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval *
}
}
return 1;
- } else if (strict && model->u.element->nillable) {
+ } else if (strict && model->u.element->nillable && model->min_occurs > 0) {
property = xmlNewNode(NULL,model->u.element->name);
xmlAddChild(node, property);
if (style == SOAP_ENCODED) {
@@ -1389,6 +1389,12 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval *
xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE);
xmlSetNsProp(property, xsi, "nil", "true");
}
+ if (style == SOAP_LITERAL &&
+ model->u.element->namens &&
+ model->u.element->form == XSD_FORM_QUALIFIED) {
+ xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens);
+ xmlSetNs(property, nsp);
+ }
return 1;
} else if (model->min_occurs == 0) {
return 2;