2015-07-28 2 views
0

Версия: 1.8.0WSO2AM не генерирует SOAP-конверт в случае неисправности

В случае неисправности, например, «Ошибка аутентификации» WSO2AM генерирует мыло Fault, но ответ не включает мыло обволакивает.

Запрос:

POST /myapi/1.0 HTTP/1.1 
Host: localhost 
Content-Type: text/xml 
SOAPAction: "" 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:test="http://test.com/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <test:search> 
     <searchString>1234</searchString> 
     </test:search> 
    </soapenv:Body> 
</soapenv:Envelope> 

Ответ:

HTTP/1.1 403 Forbidden 
Content-Type: application/xml; charset=UTF-8 

<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <faultcode xmlns:axis2ns36="http://schemas.xmlsoap.org/soap/envelope/">axis2ns36:Client</faultcode> 
    <faultstring>Authentication Failure</faultstring> 
    <detail>Access failure for API: /rest/bfo/mycase, version: 1.0 with key: null</detail> 
</soapenv:Fault> 

Без обволакивают клиент не сможет прочитать сообщение об ошибке. Похоже, что вопросы в версии 1.8.0 и более ранних версий отвечают действительным мыльным Envelop.

ответ

0

В последовательности замыкания (/repository/deployment/server/synapse-configs/default/sequences/fault.xml)content типа вне идет сообщение о неисправности устанавливается в прикладную/XML

<property name="messageType" value="application/xml" scope="axis2"/> 

Если вы хотите получить сообщение о мыле, установите его на текст/xml

<property name="messageType" value="text/xml" scope="axis2"/>