<?php
require_once 'SOAP/Value.php';
require_once 'SOAP/Fault.php';
require_once './example_types.php';
class SOAP_Example_Server {
var $__dispatch_map = array();
var $__typedef = array();
function SOAP_Example_Server() {
$this->__typedef['{http://soapinterop.org/xsd}SOAPStruct'] =
array(
'varString' => 'string',
'varInt' => 'int',
'varFloat' => 'float'
);
$this->__dispatch_map['echoStruct'] =
array(
'in' => array('inputStruct' =>
'{http://soapinterop.org/xsd}SOAPStruct'),
'out' => array('outputStruct' =>
'{http://soapinterop.org/xsd}SOAPStruct'),
);
}
function __dispatch($methodname) {
if (isset($this->__dispatch_map[$methodname]))
return $this->__dispatch_map[$methodname];
return NULL;
}
function echoStruct($inputStruct)
{
return $inputStruct->__to_soap('outputStruct');
}
}
?>
<?xml version="1.0"?>
<definitions name="ServerExample"
targetNamespace="urn:ServerExample"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="urn:ServerExample"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns5="http://soapinterop.org/xsd">
<types xmlns="http://schemas.xmlsoap.org/wsdl/">
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://soapinterop.org/xsd">
<complexType name="SOAPStruct">
<all>
<element name="varString" type="xsd:string" />
<element name="varInt" type="xsd:int" />
<element name="varFloat" type="xsd:float" />
</all>
</complexType>
</schema>
</types>
<message name="echoStructRequest">
<part name="inputStruct" type="ns5:SOAPStruct" />
</message>
<message name="echoStructResponse">
<part name="outputStruct" type="ns5:SOAPStruct" />
</message>
<portType name="ServerExamplePort">
<operation name="echoStruct">
<input message="tns:echoStructRequest" />
<output message="tns:echoStructResponse" />
</operation>
</portType>
<binding name="ServerExampleBinding" type="tns:ServerExamplePort">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/wsdl/http/" />
<operation name="echoStruct">
<soap:operation
soapAction="urn:SOAP_Example_Server#soap_example_server#echoStruct" />
<input>
<soap:body
use="encoded"
namespace="urn:SOAP_Example_Server"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded"
namespace="urn:SOAP_Example_Server"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="ServerExampleService">
<documentation />
<port name="ServerExamplePort"
binding="tns:ServerExampleBinding">
<soap:address
location="http://localhost/pres2/presentations/slides/soap/examples/server.php" />
</port>
</service>
</definitions>