On 24.07.2009, at 12:48, David Zülke wrote:
Yes, thanks, I realize that, but I need to test it in a .phpt unit test, which is a bit trickier. But as I said, I already have an idea. Will do it this later and open a ticket.
Issue: http://bugs.php.net/49144 .phpt: http://pastie.org/569897 (also attached) - David
--TEST--
Bug #49144 (import of schemas from different hosts transmits original
authentication details)
--SKIPIF--
<?php
require_once('skipif.inc');
###
### THIS RE-USES TESTING CODE FROM ext/standard/tests/http/, BEWARE
###
require dirname(__FILE__) . '../../../../standard/tests/http/server.inc';
http_server_skipif('tcp://127.0.0.1:12342'); ?>
?>
--FILE--
<?php
###
### THIS RE-USES TESTING CODE FROM ext/standard/tests/http/, BEWARE
###
require dirname(__FILE__) . '../../../../standard/tests/http/server.inc';
$responses = array(
"data://text/plain,HTTP/1.1 200 OK\r\nContent-Type: application/xml;
charset=UTF-8\r\n\r\n" . '<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://agavi.org/sampleapp/types"
xmlns:asa="http://agavi.org/sampleapp" name="AgaviSampleApplication"
targetNamespace="http://agavi.org/sampleapp">
<wsdl:types>
<xsd:schema
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns="http://agavi.org/agavi/config/parts/routing/1.0"
targetNamespace="http://agavi.org/sampleapp/types">
<xs:import
namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://localhost:12342/xml.xsd"/>
<xsd:complexType name="Product">
<xsd:sequence>
<xsd:element name="id" type="xsd:int"/>
<xsd:element name="name"
type="xsd:string"/>
<xsd:element name="price"
type="xsd:float"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:portType name="AgaviSampleApplicationPortType">
<wsdl:operation name="getProduct">
<wsdl:input message="asa:getProductRequest"/>
<wsdl:output message="asa:getProductResponse"/>
</wsdl:operation>
</wsdl:portType>
<binding name="AgaviSampleApplicationBinding"
type="asa:AgaviSampleApplicationPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getProduct">
<soap:operation
soapAction="http://agavi.org/sampleapp#getProduct"/>
<wsdl:input>
<soap:body
namespace="http://agavi.org/sampleapp" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body
namespace="http://agavi.org/sampleapp" use="literal"/>
</wsdl:output>
</wsdl:operation>
</binding>
<service name="AgaviSampleApplicationService">
<port name="AgaviSampleApplicationPort"
binding="asa:AgaviSampleApplicationBinding">
<soap:address
location="http://localhost/YOUR/PATH/TO/samples/pub/soap.php"/>
</port>
</service>
<wsdl:message name="getProductRequest">
<wsdl:part
xmlns="http://agavi.org/agavi/config/parts/routing/1.0" name="id"
type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getProductResponse">
<wsdl:part
xmlns="http://agavi.org/agavi/config/parts/routing/1.0" name="product"
type="tns:Product"/>
</wsdl:message>
</wsdl:definitions>',
"data://text/plain,HTTP/1.1 200 OK\r\nContent-Type: application/xml;
charset=UTF-8\r\n\r\n" . '<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<xs:attribute name="base" type="xs:anyURI" />
</xs:schema>',
);
$pid = http_server("tcp://127.0.0.1:12342", $responses, $output);
ini_set("soap.wsdl_cache_enabled", 0);
$client = new SoapClient("http://127.0.0.1:12342/bug.wsdl", array('login' =>
'foo', 'password' => 'bar'));
fseek($output, 0, SEEK_SET);
var_dump(stream_get_contents($output));
http_server_kill($pid);
?>
--EXPECTF--
string(%s) "GET /bug.wsdl HTTP/1.1
Host: 127.0.0.1:12342
Authorization: Basic Zm9vOmJhcg==
Connection: close
GET /xml.xsd HTTP/1.1
Host: localhost:12342
Connection: close
"
smime.p7s
Description: S/MIME cryptographic signature
