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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
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 16:01:28 2024 UTC