Estoy definiendo un wsdl para un servicio web de la siguiente forma 
  
Código:
 <?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions 
	xmlns:soap="ht___schemas.xmlsoap.org/wsdl/soap/"
	xmlns:soapenc="ht___schemas.xmlsoap.org/soap/encoding/" 
	xmlns:mime="ht___schemas.xmlsoap.org/wsdl/mime/"
	xmlns:tns="ht___url.cor/" 
	xmlns:xsd="ht___w3.org/2001/XMLSchema"
	xmlns:soap12="ht___schemas.xmlsoap.org/wsdl/soap12/" 
	xmlns:http="ht___schemas.xmlsoap.org/wsdl/http/"
	targetNamespace="http___url.cor/"
	xmlns:wsdl="ht___schemas.xmlsoap.org/wsdl/">
	<wsdl:documentation>Licitaciones</wsdl:documentation>
	<wsdl:types>
		<xsd:schema elementFormDefault="qualified" targetNamespace="ht___url.cor/">
		
			<xsd:element name="car" type="tns:carType"/>
			
			<xsd:simpleType name="carType">
			  <xsd:restriction base="xsd:short">
			    <xsd:enumeration value="1"/>
			    <xsd:enumeration value="2"/>
			    <xsd:enumeration value="3"/>
			  </xsd:restriction>
			</xsd:simpleType>
			
		</xsd:schema>
	</wsdl:types>
	<wsdl:message name="PruebaRequest">
		<wsdl:part name="PruebaRequest" element="tns:car"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="PruebaResponse">
		<wsdl:part name="PruebaResponse" type="xsd:string"></wsdl:part>
	</wsdl:message>		
	<wsdl:portType name="LicitacionWebServiceSoap">
		<wsdl:operation name="Prueba">
			<wsdl:documentation xmlns:wsdl="ht___schemas.xmlsoap.org/wsdl/">Prueba</wsdl:documentation>
			<wsdl:input message="tns:PruebaRequest"></wsdl:input>
			<wsdl:output message="tns:PruebaResponse"></wsdl:output>
		</wsdl:operation>		
	</wsdl:portType>
	<wsdl:binding name="LicitacionWebServiceSoap" type="tns:LicitacionWebServiceSoap">
		<soap:binding transport="ht___schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="Prueba">
			<soap:operation soapAction="ht___url.cor/Prueba"
				style="document" />
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>						
	</wsdl:binding>
	<wsdl:service name="LicitacionWebService">
		<wsdl:documentation xmlns:wsdl="ht___schemas.xmlsoap.org/wsdl/">Servicio de manejo de licitaciones</wsdl:documentation>
		<wsdl:port name="LicitacionWebServiceSoap" binding="tns:LicitacionWebServiceSoap">
			<soap:address location="ht___url.cor/servidor/servidor2.php" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
  Lo que hace el método prueba escrito en php es devolverme el valor que le pasamos. 
Para probarlo uso SOAP UI, creo un proyecto nuevo con mi wsdl e invoco a prueba pasandole un string asdf 
 Fatal error: SOAP-ERROR: Encoding: Violation of encoding rules in /var/www/vhosts/url.cor/servidor/servidor2.php on line 14 
Donde la linea 14 es aquella que se corresponde con $servidor->handle(); 
Si paso un valor numerico digamos 1, devuelve el valor correcto. 
Pero si paso 4 también, u otro valor que no estea en la enumeración por ejemplo 99999999999999999999999999999999 que tampoco debería tragar por ser mayor que un short. 
¿Acaso la información de xsd:restriction es solo orientativa para el cliente que construya? 
Muchas gracias