summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-04-10 13:29:57 +0000
committerDmitry Stogov <dmitry@php.net>2006-04-10 13:29:57 +0000
commit1c4d488cc8a368d2ef02e4d20fd741db092dbbca (patch)
tree68504165d06fc604b9f7f4b87007f82df9264bc4 /ext/soap/php_encoding.c
parentd532322b728833c684948e8fe13221b8815a2a9b (diff)
downloadphp-git-1c4d488cc8a368d2ef02e4d20fd741db092dbbca.tar.gz
Fixed bug #36908 (wsdl default value overrides value in soap request).
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 7cc9c6151e..c57bc6e1ed 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -1130,11 +1130,13 @@ static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr
{
switch (model->kind) {
case XSD_CONTENT_ELEMENT:
- if (model->u.element->name) {
- xmlNodePtr node = get_node(data->children, model->u.element->name);
- if (node) {
- zval *val;
+ if (model->u.element->name) {
+ xmlNodePtr node = get_node(data->children, model->u.element->name);
+ if (node) {
+ zval *val;
+
+ node = check_and_resolve_href(node);
if (node && node->children && node->children->content) {
if (model->u.element->fixed && strcmp(model->u.element->fixed,node->children->content) != 0) {
soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, node->children->content);