ID: 40448
User updated by: dreddy at duke-energy dot com
Reported By: dreddy at duke-energy dot com
Status: Open
Bug Type: SOAP related
Operating System: AIX 5.3
PHP Version: 5.2.1
New Comment:
The soap server:
<?php
/**
* Testing SOAP Server Extension
*
* @author dreddy
* @package defaultPackage
*/
class QuoteService {
private $quotes = array("ibm" => 90, "se"=>20);
/**
* Test Function
*
* @param string $symbol
* @return string
*/
function getQuote($symbol)
{
if (isset($this->quotes[$symbol]))
{
return $this->quotes[$symbol];
}
else
{
throw new SoapFault("Server","Unknow Symbol '$symbol'.");
}
}
}
ini_set("soap.wsdl_cache_enabled", "0");
$server = new SoapServer("testsoap.wsdl");
$server->setClass("QuoteService");
$server->handle();
?>
Previous Comments:
------------------------------------------------------------------------
[2007-02-12 15:02:25] dreddy at duke-energy dot com
test
------------------------------------------------------------------------
[2007-02-12 14:52:15] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc. If the script requires a
database to demonstrate the issue, please make sure it creates
all necessary tables, stored procedures etc.
Please avoid embedding huge scripts into the report.
------------------------------------------------------------------------
[2007-02-12 14:43:13] dreddy at duke-energy dot com
Description:
------------
We are using PHP version 5.1.6 (not in the drop down for bugs)
Testing Flash8 Webservice Component connecting to a PHP5 SOAP Extension
soap server, and the Apache listener will generate an internal server
error (500).
Problem appears to be libsoap not handling what appears to be a valid
SOAP1.1 envelope, even if the the soap server is defined to be
SOAP1.1.
The workaround for us, is to use NuSoap, which is a SOAP 1.1
implementation.
Reproduce code:
---------------
The problem is the additional element on the BODY tab, legit in SOAP1.1
but not in SOAP1.2
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body
xmlns:ns1="urn
:myquote"><ns1:getQuote><symbol>ibm</symbol></ns1:getQuote></SOAP-ENV:Body></SOAP-ENV:Envelope>
See http://www.w3.org/TR/2003/REC-soap12-part0-20030624/#L4697
...and look for a section titled, "6. Changes Between SOAP 1.1 and SOAP
1.2"
The first item under additional or changed syntax:
SOAP 1.2 does not permit any element after the body. The SOAP 1.1
schema definition allowed for such a possibility, but the textual
description is silent about it.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40448&edit=1