我目前正在开发一个API,该API将向端点发送请求,并将响应返回给客户端。
在我的故障序列中,我将使用makefault介体记录错误代码和错误消息。关于错误代码和消息记录的一切工作正常。仅仅是这样,每个错误的HTTP标头都返回500(内部服务器错误)。
这是我的故障序列的样子。
<faultSequence>
<makefault description="" version="soap11">
<code value="soap11Env:VersionMismatch" xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/"/>
<reason expression="get-property('ERROR_CODE')"/>
<role/>
<detail/>
</makefault>
<log level="custom">
<property expression="get-property('HTTP_SC')" name="header"/>
</log>
<header name="To" action="remove"/>
<property name="RESPONSE" value="true"/>
我尝试在消息上下文中捕获HTTP代码。值为空
LogMediator header = null
但是当响应发送回客户端时,它返回的HTTP为500(内部服务器错误)
任何建议都会对您有所帮助。请协助。谢谢StackOverFlow。
答案 0 :(得分:1)
HTTP_SC属性属于axis2范围。因此,您可以使用以下任一方式记录状态代码
<log level="custom">
<property expression="get-property('axis2','HTTP_SC')" name="header"/>
</log>
或
<log level="custom">
<property expression="$axis2:HTTP_SC" name="header"/>
</log>