Bad SOAP Response
| From: | Ouinouin | Date: | Wed, 07 May 2003 08:13:12 +0000 |
| Subject: | Bad SOAP Response | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-582@lists.php.net to get a copy of this message | ||
I develop a soap server with a service name authenticate
In my SOAP server constructor I declare :
...
$this->dispatch_map['authenticate'] =
array('in' => array('Login' => 'string','Password'
=> 'string'),
'out' => array('Return' => 'boolean','UserID'
=> 'string')
);
...
I test it on my server and it works ! (php 4.2.2)
The SOAP answer is :
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns4="urn:quizbeesoapserver"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns4:authenticateResponse>
<Return xsi:type="xsd:boolean">true</Return>
<UserID xsi:type="xsd:string">ghkhqkfghq</UserID>
</ns4:authenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I install it on an other server and the answer is different (php 4.3.0)
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns4="urn:quizbeesoapserver"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns4:authenticateResponse>
<return>
<Return xsi:type="xsd:boolean">true</Return>
<UserID xsi:type="xsd:string">ghkhqkfghq</UserID>
</return>
</ns4:authenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
It adds the <return> tag and I don't understand why ?
My client is unable to parse the answer !!
...
if ($aResAppel["Return"]==true) is always wrong !!
...
Is it because I don't use the same PHP and PEAR version ?
Is it because I have to configure something somewhere ?
Thnks for your help
Yves