Commit c32e9c813e10bfb3e2f818713c6dd70e977b5dc9
1 parent
be1d0766
Merged in from STABLE trunk...
KTS-3133 "Error in storage verification process" Updated. Committed By: Conrad Vermeulen Reviewed By: Megan Watson git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/STABLE/branches/3.5.3-Release-Branch@8909 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
22 additions
and
3 deletions
thirdparty/pear/SOAP/Base.php
| @@ -374,6 +374,22 @@ class SOAP_Base extends SOAP_Base_Object | @@ -374,6 +374,22 @@ class SOAP_Base extends SOAP_Base_Object | ||
| 374 | 'http://schemas.xmlsoap.org/soap/encoding/' => 'SOAP-ENC'); | 374 | 'http://schemas.xmlsoap.org/soap/encoding/' => 'SOAP-ENC'); |
| 375 | } | 375 | } |
| 376 | 376 | ||
| 377 | + function isValidField($fieldname, $type) | ||
| 378 | + { | ||
| 379 | + foreach($this->_wsdl->complexTypes as $nss) | ||
| 380 | + { | ||
| 381 | + foreach($nss as $ns) | ||
| 382 | + { | ||
| 383 | + if (array_key_exists($fieldname, $ns['elements'])) | ||
| 384 | + { | ||
| 385 | + return true; | ||
| 386 | + } | ||
| 387 | + } | ||
| 388 | + } | ||
| 389 | + return false; | ||
| 390 | + } | ||
| 391 | + | ||
| 392 | + | ||
| 377 | /** | 393 | /** |
| 378 | * Sets the schema version used in the SOAP message. | 394 | * Sets the schema version used in the SOAP message. |
| 379 | * | 395 | * |
| @@ -473,7 +489,10 @@ class SOAP_Base extends SOAP_Base_Object | @@ -473,7 +489,10 @@ class SOAP_Base extends SOAP_Base_Object | ||
| 473 | $xmlout_value .= $this->_serializeValue(get_object_vars($vars[$k]), $k, false, $this->_section5 ? null : $elNamespace); | 489 | $xmlout_value .= $this->_serializeValue(get_object_vars($vars[$k]), $k, false, $this->_section5 ? null : $elNamespace); |
| 474 | } | 490 | } |
| 475 | } else { | 491 | } else { |
| 476 | - $xmlout_value .= $this->_serializeValue($vars[$k], $k, false, $this->_section5 ? null : $elNamespace); | 492 | + if ($this->isValidField($k, $type)) |
| 493 | + { | ||
| 494 | + $xmlout_value .= $this->_serializeValue($vars[$k], $k, false, $this->_section5 ? null : $elNamespace); | ||
| 495 | + } | ||
| 477 | } | 496 | } |
| 478 | } | 497 | } |
| 479 | } | 498 | } |
| @@ -518,12 +537,12 @@ class SOAP_Base extends SOAP_Base_Object | @@ -518,12 +537,12 @@ class SOAP_Base extends SOAP_Base_Object | ||
| 518 | } | 537 | } |
| 519 | 538 | ||
| 520 | $xmlout_offset = ' SOAP-ENC:offset="[0]"'; | 539 | $xmlout_offset = ' SOAP-ENC:offset="[0]"'; |
| 521 | - if (!$arrayType) { | 540 | + if (!$arrayType) { |
| 522 | /* | 541 | /* |
| 523 | $numtypes = count($array_types); | 542 | $numtypes = count($array_types); |
| 524 | if ($numtypes == 1) { | 543 | if ($numtypes == 1) { |
| 525 | $arrayType = $array_type; | 544 | $arrayType = $array_type; |
| 526 | - } | 545 | + } |
| 527 | */ | 546 | */ |
| 528 | // Using anyType is more interoperable. | 547 | // Using anyType is more interoperable. |
| 529 | if ($array_type == 'Struct') { | 548 | if ($array_type == 'Struct') { |