#36245 [Opn]: SOAP in WDSL incorrect complex type encoding
| From: | hans at lintoo dot dk | Date: | Wed, 01 Feb 2006 13:27:27 +0000 |
| Subject: | #36245 [Opn]: SOAP in WDSL incorrect complex type encoding | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-92772@lists.php.net to get a copy of this message | ||
ID: 36245
User updated by: hans at lintoo dot dk
Reported By: hans at lintoo dot dk
Status: Open
Bug Type: SOAP related
-Operating System: FreeBSD 5.4
+Operating System: FreeBSD 5.4 + FreeBSD 6 + Win32
-PHP Version: 5.1.2
+PHP Version: 5.1.2 + CVS(200602010930)
New Comment:
Tested on:
PHP 5.1.2 - FreeBSD 5.4
PHP 5.1.2 - FreeBSD 6
PHP 5.1.2 - Win32
PHP CVS(200602010930) - Win32
Same result everywhere... :(
Previous Comments:
------------------------------------------------------------------------
[2006-02-01 13:03:49] hans at lintoo dot dk
switch: Expected result & Actual result... sorry!
------------------------------------------------------------------------
[2006-02-01 13:02:32] hans at lintoo dot dk
Description:
------------
Please excuse me if this problem is related to my code, i tried all
combinations of coding methods I could think of, but still it did not
return the code I was expecting.
I get the following exception:
SoapFault exception: [soap:Client] Incorrect format for named street
text line
which i believe is due to incorrect coding of the complex types.
You can find the WSDL at:
http://dev.lintoo.net/findaddressservice.wsdl
Reproduce code:
---------------
<?php
header('Content-type: text/xml');
$client = new
SoapClient('http://dev.lintoo.net/findaddressservice.wsdl', array(
'soap_version' => SOAP_1_1,
"trace" => 1,
"exceptions" => 1
));
class FindAddressAccessRequest {
public $NamedStreetTextInput;
public $StreetBuildingIdentifier;
public $MunicipalitySearch;
public $DistrictSearch;
public $DistrictSubdivisionSearch;
}
$FindAddressAccessRequest = new FindAddressAccessRequest();
$FindAddressAccessRequest->NamedStreetTextInput = "Hjallesevej";
$FindAddressAccessRequest->StreetBuildingIdentifier = "34";
$findAddressParam = array('NamedStreetTextInput' => "Hjallesevej",
'StreetBuildingIdentifier' => '34');
$client->FindAddressAccess($FindAddressAccessRequest);
print($client->__getLastRequest());
?>
Expected result:
----------------
<ns2:FindAddressAccessRequest>
<NamedStreetTextInput>Hjallesevej</NamedStreetTextInput>
<ns1:StreetBuildingIdentifier>34</ns1:StreetBuildingIdentifier>
<MunicipalitySearch/>
<DistrictSearch/>
<DistrictSubdivisionSearch/>
</ns2:FindAddressAccessRequest>
Actual result:
--------------
<ns2:FindAddressAccessRequest>
<ns2:NamedStreetTextInput>Hjallesevej</ns2:NamedStreetTextInput>
<ns1:StreetBuildingIdentifier>34</ns1:StreetBuildingIdentifier>
<ns2:MunicipalitySearch/>
<ns2:DistrictSearch/>
<ns2:DistrictSubdivisionSearch/>
</ns2:FindAddressAccessRequest>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36245&edit=1