Веб-сервис SOAP - подделать ошибку на стороне сервера?
Мое приложение для iphone использует мыльные веб-сервисы. Я хочу знать, как бы он себя вел, если бы веб-сервис вернул мыльную ошибку?
Я использую charles (HTTP Proxy) для перехвата ответов и изменения ответа перед отправкой в приложение для iPhone. То, что я пытаюсь сделать, это изменить успешный ответ мыла и превратить его в ошибку мыла, чтобы увидеть, как ведет себя мое приложение.
ВОПРОС: Как выглядит ответ об ошибке SOAP? (С restful все, что мне нужно было сделать, это изменить responseCode на 504, как я могу добиться этого с помощью SOAP)?
1 ответ
Как выглядит ответ об ошибке SOAP?
Вот пример того, как может выглядеть ошибочный ответ SOAP:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header />
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring xml:lang="en-US">The creator of this fault did not specify a Reason.</faultstring>
<detail>
<MyFault xmlns="http://schemas.datacontract.org/2004/07/ToDD" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<MyProperty>some value</MyProperty>
</MyFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Как вы можете видеть, есть специальный <Fault>
узел в теле ответа SOAP, который может содержать любой XML, описывающий ошибку SOAP. Пользовательский XML должен быть в <detail>
дочерний узел.