2013-04-09 64 views
1

我挑起wso2ESB错误,以便有一些错误的客户端的控制,而ESB控制台显示:如何发送WSO2 ESB错误消息或异常,以我的客户

ERROR {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} - Error occurred while evaluating the policy {org.wso2.carbon.identity.entitlement.mediator.EntitlementMediator} 
org.apache.axis2.AxisFault: Access Denied. Authentication failed - Invalid credentials provided. 
... 
... 

客户端控制台显示:

org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI 

我看到在控制台不同的错误,我需要ESB的错误信息,以便客户端代码可以捕捉到同样的错误ESB

在这一刻,我有我的序列“断层”配置是这样的:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="fault" trace="enable"> 
    <makefault version="soap12"> 
    <code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope" value="soap12Env:Receiver"/> 
    <reason xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('ERROR_MESSAGE')"/> 
    </makefault> 
    <send/> 
</sequence> 

和顺序可以这样来配置我的代理服务的顺序:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="InSequence" trace="enable"> 
    <entitlementService remoteServiceUrl="https://localhost:9443/services/" remoteServiceUserName="srxxx" remoteServicePassword="kiytr"> 
     <onReject/> 
     <onAccept/> 
     <advice/> 
     <obligations/> 
    </entitlementService> 
    <header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" name="wsse:Security" action="remove"/> 
    <send/> 
    <drop/> 
</sequence> 

我试过几种方法得到的错误在我的客户端,而不成功,如果有人可以帮助我,我将不胜感激这么多

+0

贵例外发生在接收或期间发送(序列内)? – FiveO 2013-04-10 07:10:00

+0

例外序列内发生,在我的顺序是有权利介体在尝试使用用户名和指定的,当然这个用户没有在身份服务器存在密码的WSO2身份服务器进行身份验证,所以会出现异常 – user1750701 2013-04-10 15:02:30

回答

1

配置一个faultSequence代理服务中如下图所示。你的情况,你必须使用faultSequence内部故障调停。

<faultSequence> 
    <makefault version="soap12"> 
     <code xmlns:soap12Env="http://www.w3.org/2003/05/soap-envelope" value="soap12Env:Receiver"/> 
     <reason xmlns:ns="http://org.apache.synapse/xsd" expression="get-property('ERROR_MESSAGE')"/> 
    </makefault> 
    <send/> 
</faultSequence> 

对于发送时所需的错误消息发送到所述客户端使用以下单证

更多信息

[1] http://docs.wso2.org/wiki/display/ESB460/Error+Handling+and+Error+Codes

[2] http://docs.wso2.org/wiki/display/ESB460/Fault+Mediator

相关问题