Bug #46121 [Com]: SoapServer doesn't support SOAP 1.2 in WSDL-Mode

[email protected] ("isharfme at p5 dot kz") Tue, 30 Mar 2010 16:06:00 +0200 (CEST)
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=46121&edit=1

 ID:               46121
 Comment by:       isharfme at p5 dot kz
 Reported by:      d dot reiche at gmx dot ch
 Summary:          SoapServer doesn't support SOAP 1.2 in WSDL-Mode
 Status:           No Feedback
 Type:             Bug
 Package:          SOAP related
 Operating System: Linux
 PHP Version:      5.2.6

 New Comment:

The problem still exists on php 5.3.2


Previous Comments:
------------------------------------------------------------------------
[2009-05-06 01:00:03] php-bugs at lists dot php dot net

No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".

------------------------------------------------------------------------
[2009-04-28 18:55:28] [email protected]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



------------------------------------------------------------------------
[2008-09-19 09:35:20] d dot reiche at gmx dot ch

Description:
------------
When creating a SoapServer in WSDL-Mode the server fails to import the
SOAP-1.2 compliant WSDL with a error message stating that the SOAP 1.2
HTTP transport binding is not supported.
However this transport binding is necessary for clients in other
languages (i.e. axis2/java) to handle the messages correctly.
Currently, the SoapServer only handles SOAP 1.1 compliant bindings
correctly (using:
schema: http://schemas.xmlsoap.org/wsdl/soap/ 
transport: http://schemas.xmlsoap.org/soap/http
).
SOAP 1.2 compliant bindings require both of the following schemas to be
present:
schema: http://schemas.xmlsoap.org/wsdl/soap12/
transport: http://www.w3.org/2003/05/soap/bindings/HTTP/

Reproduce code:
---------------
Set up a WSDL file with the following entries:

<wsdl:definitions 
...
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/"
...>  
<!-- snip : types, messages and porttype -->
<wsdl:binding name="test" type="tns:test>
 <soap:binding style="rpc"
transport="http://www.w3.org/2003/05/soap/bindings/HTTP/" />
<!-- snip: binding operations and  the service element-->

Setup a SoapServer using:

<?php
  $SoapServer	=  new SoapServer( 'test.wsdl',
    array(
      'soap_version'=>	SOAP_1_2,
      'uri'	    =>	'http://example.org/test/',
      'encoding'    =>	'UTF-8',
    ));
	
  $SoapServer->setClass('test');
  $SoapServer->handle();
?>

and a testclass that handles the requests.

Expected result:
----------------
the Service should be callable

Actual result:
--------------
<SOAP-ENV:Envelope>
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>WSDL</faultcode>
      <faultstring>
        SOAP-ERROR: Parsing WSDL: PHP-SOAP doesn't support transport
        'http://www.w3.org/2003/05/soap/bindings/HTTP/'
      </faultstring>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=46121&edit=1