gpt4 book ai didi

java - WSO2 生成并使用自定义错误代码

转载 作者:行者123 更新时间:2023-12-01 13:43:39 25 4
gpt4 key购买 nike

我已经为 wso2 创建并部署了一个 java 服务。我需要在 WSO2 中创建一个序列,以便在 java 服务给出特定故障响应时故障转移到另一个端点。我想对某些错误代码使用端点功能“suspendOnFailure”和“markForSuspension”,但我没有找到从Java服务抛出特定错误代码的方法。

有什么方法可以在java中抛出一个错误代码,该代码将由端点解释,以便将其标记为“因失败而暂停”一段时间?

我尝试使用 makefault 中介器,但我不知道如何从该(或其他)中介器抛出带有错误代码的错误,该错误代码可以稍后在“suspendOnFailure”中解释。

下面我尝试使用 PGWFAULT 服务来始终发送带有错误代码的故障,该错误代码将由“suspendOnFailure”解释。那样不行...

 <proxy name="CommandClientService" transports="https http" startOnLoad="true"
trace="enable">
<description/>
<target>
<endpoint name="FaultyOne">
<address uri="http://localhost:8282/services/PGWFAULT">
<suspendOnFailure>
<errorCodes>101500</errorCodes>
<initialDuration>1</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>1</maximumDuration>
</suspendOnFailure>
<markForSuspension>
<errorCodes>101500</errorCodes>
<retriesBeforeSuspension>20</retriesBeforeSuspension>
<retryDelay>1</retryDelay>
</markForSuspension>
</address>
</endpoint>
<faultSequence>
<log level="full">
<property name="text" value="Fault sequence activatesNOW"/>
<property name="message" expression="get-property('ERROR_MESSAGE')"/>
</log>
<send>
<endpoint key="errorProvider"/>
</send>
</faultSequence>
</target>
</proxy>


<proxy name="PGWFAULT" transports="https http" startOnLoad="true" trace="enable">
<description/>
<target>
<endpoint key="Local"/>
<outSequence>
<makefault version="soap12">
<code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope"
value="soap12Env:Receiver"/>
<reason value="101500"/>
<node/>
<role>asdcasdf</role>
<detail>a fault to be taken into account</detail>
</makefault>
<send/>
</outSequence>
</target>
</proxy>

最佳答案

端点定义中引用的用于暂停的错误代码基于http错误代码

您可以在中介中设置这样的错误代码:

<property name="HTTP_SC" value="500" scope="axis2"/>

有关端点错误处理中的错误代码列表,请参阅 http://docs.wso2.org/display/ESB480/Endpoint+Error+Handling

我想你会很容易找到如何在java中设置它......

例如 HttpServletResponse 对象:

response.sendError(response.SC_NOT_FOUND, "No XXX specified.");

关于java - WSO2 生成并使用自定义错误代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com