4 changed files with 112 additions and 1 deletions
@ -0,0 +1,19 @@ |
|||
--TEST-- |
|||
Bug #47049 (SoapClient::__soapCall causes a segmentation fault) |
|||
--SKIPIF-- |
|||
<?php require_once('skipif.inc'); ?> |
|||
--INI-- |
|||
soap.wsdl_cache_enabled=0 |
|||
--FILE-- |
|||
<?php |
|||
$client = new SoapClient(dirname(__FILE__) . '/bug47049.wsdl', |
|||
array('trace' => 1 , 'exceptions' => 0)); |
|||
$host = array('uuid' => 'foo'); |
|||
$software_list = array(array('name' => 'package', 'version' => '1.2.3', 'state' => 'installed')); |
|||
$updates = array(); |
|||
$report_id = $client->__soapCall('reportSoftwareStatus',array($host, $software_list, $updates)); |
|||
echo $client->__getLastRequest(); |
|||
?> |
|||
--EXPECT-- |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.example.org/reporter/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:reportSoftwareStatus><host xsi:type="ns1:host"><uuid xsi:type="xsd:string">foo</uuid></host><software_list xsi:type="ns1:software_list"><software xsi:type="ns1:software"><name xsi:type="xsd:string">package</name><version xsi:type="xsd:string">1.2.3</version><state xsi:type="xsd:string">installed</state></software></software_list><updates xsi:type="ns1:updates"/></ns1:reportSoftwareStatus></SOAP-ENV:Body></SOAP-ENV:Envelope> |
|||
@ -0,0 +1,80 @@ |
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|||
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.example.org/reporter/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="reporter" targetNamespace="http://www.example.org/reporter/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> |
|||
<wsdl:types><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/reporter/"> |
|||
<xsd:complexType name="host"> |
|||
<xsd:sequence> |
|||
<xsd:element name="uuid" type="xsd:string"></xsd:element> |
|||
</xsd:sequence> |
|||
</xsd:complexType> |
|||
<xsd:complexType name="software_list"> |
|||
<xsd:sequence> |
|||
<xsd:element name="software" type="tns:software" |
|||
maxOccurs="unbounded" minOccurs="1"> |
|||
</xsd:element> |
|||
</xsd:sequence> |
|||
</xsd:complexType> |
|||
<xsd:complexType name="software"> |
|||
<xsd:sequence> |
|||
<xsd:element name="name" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element> |
|||
<xsd:element name="version" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element> |
|||
<xsd:element name="state" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element> |
|||
</xsd:sequence> |
|||
</xsd:complexType> |
|||
<xsd:complexType name="updates"> |
|||
<xsd:sequence> |
|||
<xsd:element name="update" type="tns:update" |
|||
maxOccurs="unbounded" minOccurs="0"> |
|||
</xsd:element> |
|||
</xsd:sequence> |
|||
</xsd:complexType> |
|||
|
|||
<xsd:complexType name="update"> |
|||
<xsd:sequence> |
|||
<xsd:element name="software" type="xsd:string"></xsd:element> |
|||
<xsd:element name="old_version" type="xsd:string"></xsd:element> |
|||
<xsd:element name="new_version" type="xsd:string"></xsd:element> |
|||
</xsd:sequence> |
|||
</xsd:complexType> |
|||
|
|||
</xsd:schema></wsdl:types> |
|||
<wsdl:message name="reportSoftwareStatusRequest"> |
|||
<wsdl:part name="host" type="tns:host"/> |
|||
<wsdl:part name="software_list" type="tns:software_list"></wsdl:part> |
|||
<wsdl:part name="updates" type="tns:updates"></wsdl:part> |
|||
</wsdl:message> |
|||
<wsdl:message name="reportSoftwareStatusResponse"> |
|||
<wsdl:part name="report_id" type="xsd:int"/> |
|||
</wsdl:message> |
|||
<wsdl:portType name="reporter"> |
|||
<wsdl:operation name="reportSoftwareStatus"> |
|||
<wsdl:input message="tns:reportSoftwareStatusRequest"/> |
|||
<wsdl:output message="tns:reportSoftwareStatusResponse"/> |
|||
</wsdl:operation> |
|||
</wsdl:portType> |
|||
<wsdl:binding name="reporterHTTP" type="tns:reporter"> |
|||
|
|||
<soap:binding style="document" |
|||
transport="http://schemas.xmlsoap.org/soap/http" /> |
|||
<wsdl:operation name="reportSoftwareStatus"> |
|||
|
|||
<soap:operation |
|||
soapAction="http://www.example.org/reporter/reportSoftwareStatus" /> |
|||
<wsdl:input> |
|||
|
|||
|
|||
<soap:body use="literal" /> |
|||
</wsdl:input> |
|||
<wsdl:output> |
|||
|
|||
|
|||
<soap:body use="literal" /> |
|||
</wsdl:output> |
|||
</wsdl:operation> |
|||
</wsdl:binding> |
|||
<wsdl:service name="reporter"> |
|||
<wsdl:port binding="tns:reporterHTTP" name="reporterHTTP"> |
|||
<http:address location="test://"/> |
|||
</wsdl:port> |
|||
</wsdl:service> |
|||
|
|||
</wsdl:definitions> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue