php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #37783 SOAP call response is not parsed
Submitted: 2006-06-12 09:01 UTC Modified: 2006-06-26 12:40 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: michal dot taborsky at gmail dot com Assigned: dmitry (profile)
Status: Not a bug Package: SOAP related
PHP Version: 5.1.4 OS: CentOS 4.3 x86_64
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: michal dot taborsky at gmail dot com
New email:
PHP Version: OS:

 

 [2006-06-12 09:01 UTC] michal dot taborsky at gmail dot com
Description:
------------
The bug was reported and supposedly fixed long time ago as 29844 (and few more). But I get exactly the same result. The webservice works fine on other versions (namely 5.0.3) and other servers, but with this one it just returns NULL, though the __getLastResponse() contains proper response.

Configure options:
'./configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear' '--without-kerberos' '--enable-ucd-snmp-hack' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/etc/httpd/conf/magic' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--with-gd' '--with-dom' '--disable-dba' '--with-pgsql' '--enable-soap'

Reproduce code:
---------------
<?php
try {
    $s= new SoapClient('authority.wsdl', array("trace" => true, "exceptions"=>true));
    $r=$s->getTokens('aaa','bbb','ccc');
    var_dump($r);
} catch (SoapFault $e) {
    echo $e;
}
echo $s->__getLastRequest();
echo $s->__getLastResponse();

?>


Expected result:
----------------
string(129) "<?xml version="1.0"?>
<authorityResponse>
<error>
<code>1</code>
<message>Login incorrect</message>
</error>
</authorityResponse>"
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:getTokens><username>aaa</username><password>bbb</password><service>ccc</service></SOAP-ENV:getTokens></SOAP-ENV:Body></SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:getTokensResponse><tokens>&lt;?xml version="1.0"?&gt;
&lt;authorityResponse&gt;
&lt;error&gt;
&lt;code&gt;1&lt;/code&gt;
&lt;message&gt;Login incorrect&lt;/message&gt;
&lt;/error&gt;
&lt;/authorityResponse&gt;</tokens></SOAP-ENV:getTokensResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>


Actual result:
--------------
NULL
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:getTokens><username>aaa</username><password>bbb</password><service>ccc</service></SOAP-ENV:getTokens></SOAP-ENV:Body></SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:getTokensResponse><tokens>&lt;?xml version="1.0"?&gt;
&lt;authorityResponse&gt;
&lt;error&gt;
&lt;code&gt;1&lt;/code&gt;

&lt;message&gt;Login incorrect&lt;/message&gt;
&lt;/error&gt;
&lt;/authorityResponse&gt;</tokens></SOAP-ENV:getTokensResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-06-19 17:01 UTC] tony2001@php.net
Assigned to the maintainer.
 [2006-06-26 11:32 UTC] dmitry@php.net
Could you post your WSDL file here or send it to me by email.
 [2006-06-26 12:40 UTC] dmitry@php.net
The bug was in WSDL file, that specified empty output "parts".

        <wsdl:operation name="getTokens">
            <soap:operation soapAction="urn:#getTokens" style="rpc"/>
            <wsdl:input>
                <soap:body parts="username password service" use="literal"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body parts="" use="literal"/>
            </wsdl:output>
        </wsdl:operation>

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 18:02:40 2024 UTC