Project: talendesb
Issue TESB-10574: Consumer job with empty credentials authentication can not invoke "Fault" row when run in runtime
Consumer job check "User authentication" as attached pic:eg.choose "username token",but user and password is empty string,let it send call to authentication service.when run this consumer job in studio,it is expected that invoke fault row and get fault info from provider. But when deploy consumer job into runtime,it will invoke OnSubjobError row,the exception log is: {panel} karaf@trun> Exception in component tESBConsumer_1 org.apache.cxf.ws.policy.PolicyException: No username available at org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.policyNotAsserted(AbstractTokenInterceptor.java:229) at org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.addUsernameToken(UsernameTokenInterceptor.java:339) at org.apache.cxf.ws.security.wss4j.UsernameTokenInterceptor.addToken(UsernameTokenInterceptor.java:285) at org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.handleMessage(AbstractTokenInterceptor.java:95) at org.apache.cxf.ws.security.wss4j.AbstractTokenInterceptor.handleMessage(AbstractTokenInterceptor.java:61) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:541) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:350) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:336) at org.talend.esb.job.controller.internal.RuntimeESBConsumer.sendDocument(RuntimeESBConsumer.java:319) at org.talend.esb.job.controller.internal.RuntimeESBConsumer.invoke(RuntimeESBConsumer.java:304) at pp.usernametokenconsumerdorequestresponse_0_6.UsernameTokenConsumerDoRequestResponse.tFixedFlowInput_1Process(UsernameTokenConsumerDoReques at pp.usernametokenconsumerdorequestresponse_0_6.UsernameTokenConsumerDoRequestResponse.runJobInTOS(UsernameTokenConsumerDoRequestResponse.jav at org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:80) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:62) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) {panel} first step is investigation only.
Story points: 1