From: Dmitry Stogov Date: Sun, 9 Oct 2005 12:42:06 +0000 (+0000) Subject: Fixed bug #34788 (SOAP Client not applying correct namespace to generated values) X-Git-Tag: RELEASE_0_9_1~186 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8f43c67d01412e3b90ba30d2450082e18e23a7e;p=php Fixed bug #34788 (SOAP Client not applying correct namespace to generated values) --- diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 58adab43b5..f12776291b 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1381,7 +1381,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) { @@ -1390,6 +1390,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;