php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #63448 False values lead to empty tags
Submitted: 2012-11-06 10:05 UTC Modified: -
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: ctreptow at neutrasoft dot de Assigned:
Status: Open Package: SOAP related
PHP Version: Irrelevant OS: Win7
Private report: No CVE-ID: None
 [2012-11-06 10:05 UTC] ctreptow at neutrasoft dot de
Description:
------------
Using the NTLM-Version of the soap client (can be found under http://code.google.com/p/php-ews/source/browse/NTLMSoapClient.php)
i had problems filtering a WS-Page from Microsoft Navision on boolean fields, but only if the filter-value is FALSE.

sample of wsdl is available on http://pastebin.com/R25p62sb

note: the problem does not occur in the NTLMSoapClient (just a NTLM-wrapper), the generated message comes from the SoapClient.

tested on 5.3 and 5.4

Test script:
---------------
$params = array(
 "soap_version" => SOAP_1_1,
 "trace"	=> true,
 "cache_wsdl" => WSDL_CACHE_NONE,
 "exceptions" => true
);
$url = "http://host:7047/DynamicsNAV/WS/Company/Page/Customers?wsdl";
$client = @new NTLMSoapClient($url, $params);
$args = array(
 'setSize' => 300,
 'filter' => array(
  array("Field"=>'BoolField',"Criteria"=>false)
 )
);
$client->ReadMultiple($args);

Expected result:
----------------
intercepted SOAP-Message:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:ns1="urn:microsoft-dynamics-schemas/page/customers">
	<SOAP-ENV:Body>
		<ns1:ReadMultiple>
			<ns1:filter>
				<ns1:Field>BoolField</ns1:Field>
				<ns1:Criteria>0</ns1:Criteria>
			</ns1:filter>
			<ns1:setSize>300</ns1:setSize>
		</ns1:ReadMultiple>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Actual result:
--------------
intercepted SOAP-Message:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:ns1="urn:microsoft-dynamics-schemas/page/customers">
	<SOAP-ENV:Body>
		<ns1:ReadMultiple>
			<ns1:filter>
				<ns1:Field>BoolField</ns1:Field>
				<ns1:Criteria></ns1:Criteria>
			</ns1:filter>
			<ns1:setSize>300</ns1:setSize>
		</ns1:ReadMultiple>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Patches

Pull Requests

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Dec 03 02:01:28 2024 UTC