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

Reply via email to