У меня работает PHP5 Soap Server, и я хотел бы отследить несоответствия типов, но я не думаю, что они даже попадают в мой код.
Что происходит, в моем WSDL (упрощенно):
<complexType name="Publishing">
<all>
<element name="EmailBlast" type="xsd:boolean"/>
<element name="PublishRadius" type="xsd:int"/>
</all>
</complexType>
, что нормально, и проходит правильно, пока есть целое число (или ноль) в поле Радиус публикации. Но если я попытаюсь отправить через нецелое число, я ничего не получу в ответе, кроме этого:
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>SOAP-ERROR: Encoding: Violation of encoding rules</faultstring>
</SOAP-ENV:Fault>
Я бы хотел уловить это и вернуть что-то более полезное, но, похоже, это даже не входит в мою логику. Есть предложения?