ID: 40448 Updated by: [EMAIL PROTECTED] Reported By: dreddy at duke-energy dot com -Status: Open +Status: Assigned Bug Type: SOAP related Operating System: AIX 5.3 PHP Version: 5.2.1 -Assigned To: +Assigned To: dmitry
Previous Comments: ------------------------------------------------------------------------ [2007-02-12 15:04:23] dreddy at duke-energy dot com <operation name="getQuote"> <documentation> Test Function </documentation> <input message="typens:getQuote"/> <output message="typens:getQuoteResponse"/> </operation> </portType> <binding name="QuoteServiceBinding" type="typens:QuoteServicePortType"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getQuote"> <soap:operation soapAction="urn:QuoteServiceAction"/> <input> <soap:body namespace="urn:myquote" use="literal"/> </input> <output> <soap:body namespace="urn:myquote" use="literal"/> </output> </operation> </binding> <service name="myquoteService"> <port name="QuoteServicePort" binding="typens:QuoteServiceBinding"> <soap:address location="http://weirsz/soap_server.php"/> </port> </service> </definitions> ------------------------------------------------------------------------ [2007-02-12 15:04:17] dreddy at duke-energy dot com <?xml version='1.0' encoding='UTF-8'?> <!-- WSDL file generated by Zend Studio. --> <definitions name="myquote" targetNamespace="urn:myquote" xmlns:typens="urn:myquote" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <message name="getQuote"> <part name="symbol" type="xsd:string"/> </message> <message name="getQuoteResponse"> <part name="getQuoteReturn" type="xsd:string"/> </message> <portType name="QuoteServicePortType"> <documentation> Testing SOAP Server Extension </documentation> ------------------------------------------------------------------------ [2007-02-12 15:03:09] dreddy at duke-energy dot com 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(); ?> ------------------------------------------------------------------------ [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