php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #69417 "can't import schema" error when WSDL contains import and using a proxy
Submitted: 2015-04-10 12:12 UTC Modified: -
Votes:7
Avg. Score:4.3 ± 0.9
Reproduced:6 of 6 (100.0%)
Same Version:0 (0.0%)
Same OS:3 (50.0%)
From: marcos dot ramirez dot aranda at gmail dot com Assigned:
Status: Open Package: SOAP related
PHP Version: 5.6.7 OS: any
Private report: No CVE-ID: None
 [2015-04-10 12:12 UTC] marcos dot ramirez dot aranda at gmail dot com
Description:
------------
A "new SoapClient ()" clause on WSDL mode will fail if 

a.- the WSDL contains one o more xsd:import clauses, and
b.- the client is using a proxy

when processing the import clause, SoapClient will try to connect to the proxy host and use a 

GET /path/from/schemaLocation(path+query string) HTTP/1.0

instead of 

GET schemaLocation(full uri) HTTP/1.0

Also, the current request will cause a "TAG_NONE/400" error on the proxy log.

Test script:
---------------
$client = new SoapClient($wsdl, // $wsdl MUST contain an <xsd:import clause>
        array('proxy_host'   => "proxy_ip", 'proxy_port'   => proxy_port)
);


Expected result:
----------------
object $client is created 

Actual result:
--------------
exception with the message 
SOAP-ERROR: Parsing Schema: can't import schema from 'schemaLocation'

Patches

php-5.6.7-use-proxy.patch (last revision 2015-04-10 12:13 UTC by marcos dot ramirez dot aranda at gmail dot com)

Pull Requests

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 15:01:29 2024 UTC