xsd:enumeration (SOAP und PHP5)

Arndtinho

Erfahrenes Mitglied
Hallo,

ich habe eine WSDL um folgenden Inhalt erweitern müssen:
Code:
...
<xsd:complexType name="company">
    <xsd:sequence>
        <xsd:element name="key" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:element name="key_type" 
		      				type="tns:EnumKey" 
		      				minOccurs="1" 
		      				maxOccurs="1" 
		      				nillable="false"/>
        ...
    <xsd:sequence>
<xsd:complexType name="company">

<xsd:simpleType name="EnumKey">
    <xsd:restriction base="xsd:string">
        <xsd:enumeration value="intern"/>
        <xsd:enumeration value="extern"/>
    </xsd:restriction>
</xsd:simpleType>
...
Ziel ist es, alle Anfragen an den Webservice abzulehnen, wenn sie nicht einen der beiden vorgegebenen Werte für das Element key_type enthalten.

Im Testclient steht folgendes:
PHP:
...
$o->key = 'test1';
$o->key_type = '_intern_';
...
Beim Aufruf erwarte ich nun eigentlich eine Exception bzw. einen SOAP-Fault. Aber nichts von beiden passiert, der Webservice verrichtet seine Arbeit.
Kann es sein, dass die WSDL falsch interpretiert wird bzw. PHP und SOAP in diesem Fall nicht miteinander können?

Viele Grüße
Arndtinho
 
Zurück