Bug #49169 [Ver]: SoapServer calls wrong function, although "SOAP action" header is correct

From: Date: Thu, 25 Oct 2018 00:02:04 +0000
Subject: Bug #49169 [Ver]: SoapServer calls wrong function, although "SOAP action" header is correct
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217675@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=49169&edit=1

 ID:                 49169
 Updated by:         requinix@php.net
 Reported by:        jeroen at asystance dot nl
 Summary:            SoapServer calls wrong function, although "SOAP
                     action" header is correct
 Status:             Verified
 Type:               Bug
 Package:            SOAP related
 Operating System:   linux
-PHP Version:        5.3.3
+PHP Version:        7.2.11
 Block user comment: N
 Private report:     N

 New Comment:

OP's link is no good anymore and I know very little of SOAP. Does someone have a
client+server+WSDL example I can test with?


Previous Comments:
------------------------------------------------------------------------
[2018-10-24 21:44:03] mwintoch at wp dot pl

This issue still exists on PHP 7.2, even with Zend\Soap 2.7

------------------------------------------------------------------------
[2016-07-28 22:33:27] mail at mailforspam dot com

7 years... I really hate you core team.

------------------------------------------------------------------------
[2016-01-13 18:04:22] ben at redsnapper dot net

Still not fixed. Extremely annoying.

------------------------------------------------------------------------
[2013-04-08 18:06:08] php dot net at exby dot com

I still can't believe this is not fixed. Can we get someone from php.net to respond to this -
whether or not there is any intention to fix this?? I really don't want to use JAVA for setting
up services 
but so far PHP's inability to correctly understand the soapaction header is forcing me in this
direction.

And no, I can't switch to rpc/encoded and it's not a 'fix'. Document Literal is
by far the more used paradigm outside of the PHP world - and web services are often implemented in
the Enterprise space.

Please, somebody fix this.

------------------------------------------------------------------------
[2013-02-24 20:05:03] reto at casserini dot com

Another workaround. 

Instead of

    <message name="getCourses">
        <part name="parameters" type="xsd:int"/>
    </message>
    <message name="getUsers">
        <part name="parameters" type="xsd:int"/>
    </message>

which always leads to a call of the first operation "getCourses", I define two new types:

    <xsd:element name="getCoursesInput" type="xsd:int"/>
    <xsd:element name="getUsersInput" type="xsd:int"/>

and use them for the messages:

    <message name="getCourses">
        <part name="parameters" element="tns:getCoursesInput"/>
    </message>
    <message name="getUsers">
        <part name="parameters" element="tns:getUsersInput"/>
    </message>

works fine for me.

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


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=49169


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


Thread (23 messages)

« previous php.bugs (#217675) next »