Custom fault in consumer gets lost.

Hi,

I’m consuming a web service from an external application which is throwing a custom exception.
When I create the WSD consumer I see that the custom error is located inside the fault/detail. However, when I consume it from a provider service, and the consumer throws an exception, the fault/detail gets replaced with lastError and the custom exception gets lost.

Is this a known issue?

Thank you!

AMC.

What was the lastError message you get from the Exception?

BTW,What is your IS version and core fixes level and any WS-Stack fixes installed?

HTH,
RMG

Hi RMG,

The lastError type is ServiceException instead of the custom exception.

My IS 8.2.2.0. with update IS_8.2_SP2_Core_Fix8.

Thank you.

Please post the Exception message details…thanks!

The external service throws this custom exception:

<S:Fault xmlns:ns4=“http://www.w3.org/2003/05/soap-envelope”>
S:Server
gestionDocumental.serviciosAplicacion.FalloTipo

<ns11:FalloTipo xmlns:ns11=“http://serviciosAplicacion.gestionDocumental/” xmlns:ns10=“http://www.ugpp.gov.co/esb/schema/ErrorTipo/v1” xmlns:ns2=“http://www.ugpp.gov.co/esb/schema/CriterioOrdenamientoTipo/v1” xmlns:ns3=“http://www.ugpp.gov.co/gestionDocumental/SrvIntPlantilla/v1” xmlns:ns4=“http://www.ugpp.gov.co/schema/gestionDocumental/PlantillaTipo/v1” xmlns:ns5=“http://www.ugpp.gov.co/schema/gestionDocumental/DatoPlantilla/v1” xmlns:ns6=“http://www.ugpp.gov.co/esb/schema/ContextoTransaccionalTipo/v1” xmlns:ns7=“http://www.ugpp.gov.co/gestionDocumental/serviciosAplicacion/SrvAplPlantilla” xmlns:ns8=“http://www.ugpp.gov.co/esb/schema/ContextoRespuestaTipo/v1” xmlns:ns9=“http://www.ugpp.gov.co/schema/gestionDocumental/DocumentoTemporalTipo/v1”>

ns8:codEstadoTx0</ns8:codEstadoTx>
ns8:fechaTx2014-03-18T18:28:54.369-05:00</ns8:fechaTx>


ns10:codError6</ns10:codError>
ns10:valDescErrorInformacion - Falta informacion requerida</ns10:valDescError>

</ns11:FalloTipo>

</S:Fault>

The consumer on the IS throws a fault also, with lastError inside the detail instead of “FalloTipo”:

$errorDump
com.wm.app.b2b.server.ServiceException: [ISS.0088.9138] Input parameters do not conform to targetInputSignature:
errorCode=VV-005
pathName=/tns:opCrearDocumento/transaccion/ns31:contextoTransaccional/ns5:fechaInicioTx
errorMessage=[ISC.0082.9034] Field is absent, field must exist

at pub.clientimpl.wssClient(clientimpl.java:2827)
at pub.clientimpl.soapClient(clientimpl.java:1323)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:443)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:643)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:41)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:276)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:363)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:547)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:386)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:194)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:584)
at com.wm.lang.flow.FlowState.stepIncremental(FlowState.java:494)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:382)
at wm.server.flowdebugger.stepFlow(flowdebugger.java:936)
at wm.server.flowdebugger.execute(flowdebugger.java:466)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:453)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:643)
at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:41)
at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243)
at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:276)
at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:363)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:547)
at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:386)
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:119)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.java:160)
at com.wm.app.b2b.server.HTTPDispatch.handleRequest(HTTPDispatch.java:186)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:366)
at com.wm.util.pool.PooledThread.run(PooledThread.java:131)
at java.lang.Thread.run(Thread.java:662)

$error
[ISS.0088.9138] Input parameters do not conform to targetInputSignature:
errorCode=VV-005
pathName=/tns:opCrearDocumento/transaccion/ns31:contextoTransaccional/ns5:fechaInicioTx
errorMessage=[ISC.0082.9034] Field is absent, field must exist
$errorType
com.wm.app.b2b.server.ServiceException

Thanks!

Write a custom fault handler

Ana,

if you are still trying to resolve issue look at your mapping to input of webservice. looking at lastError it seems you are missing mapping of some fields which are required by consumer service.