Hi,
This is probably for Steve, but any help would be great.
I am using Spray to test some experimental web services of mine writen in
php with NuSOAP. I am probably doing something very silly, but I can not get
xsd:boolean to transfer properly. I have simple operation that gets boolean
and returns it back. Sending true works fine, but problem is that when I
send false from Dolphin, I get true back :). If I call the service from
php, I get false back ok.
As far as I can pin point it seems that Spray marshals false as 'false'
(stringlike) or something similar, but nusoap marshals it something like 0
(intlike).
the wsdl for the service can be found at:
http://www.rush.avalon.hr/soapx/s0.php?wsdland some formated description is at:
http://www.rush.avalon.hr/soapx/s0.php(but I am afraid server is at the moment having some trouble)
------------------
here is php code snippet:
$server->register('echoBoolean',
array('inputDate'=>'xsd:boolean'),
array('return'=>'xsd:boolean'),
'
http://soapinterop.org/');function echoBoolean($b){
//when dolphin sends false here $b evaluates to 'false' as string which is
taken as true value
// otoh when php sends false $b is 0 which evaluates to false
if($b){
return $b;
}
return false;
}
-------------
and here is Dolphin
s := SprayWSDLService onUrl:'
http://www.rush.avalon.hr/soapx/s0.php?wsdl'c := s createClient.
r := c send: 'echoBoolean' with: false.
r value 'returns true :)'
Thanx for any help,
rush
--
http://www.templatetamer.com/