php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46121 SoapServer doesn't support SOAP 1.2 in WSDL-Mode
Submitted: 2008-09-19 09:35 UTC Modified: 2009-05-06 01:00 UTC
Votes:18
Avg. Score:4.6 ± 0.6
Reproduced:15 of 16 (93.8%)
Same Version:4 (26.7%)
Same OS:8 (53.3%)
From: d dot reiche at gmx dot ch Assigned:
Status: No Feedback Package: SOAP related
PHP Version: 5.2.6 OS: Linux
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: d dot reiche at gmx dot ch
New email:
PHP Version: OS:

 

 [2008-09-19 09:35 UTC] 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>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-04-28 18:55 UTC] jani@php.net
Please try using this CVS snapshot:

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

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


 [2009-05-06 01:00 UTC] 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".
 [2010-03-30 16:06 UTC] isharfme at p5 dot kz
The problem still exists on php 5.3.2
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 13:01:31 2024 UTC