IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  Custom fault in consumer gets lost.

    Posted Tue March 18, 2014 11:00 AM

    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.


    #webMethods
    #Integration-Server-and-ESB


  • 2.  RE: Custom fault in consumer gets lost.

    Posted Tue March 18, 2014 02:45 PM

    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


    #Integration-Server-and-ESB
    #webMethods


  • 3.  RE: Custom fault in consumer gets lost.

    Posted Tue March 18, 2014 04:40 PM

    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.


    #webMethods
    #Integration-Server-and-ESB


  • 4.  RE: Custom fault in consumer gets lost.

    Posted Tue March 18, 2014 05:59 PM

    Please post the Exception message details…thanks!


    #webMethods
    #Integration-Server-and-ESB


  • 5.  RE: Custom fault in consumer gets lost.

    Posted Tue March 18, 2014 08:09 PM

    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!


    #Integration-Server-and-ESB
    #webMethods


  • 6.  RE: Custom fault in consumer gets lost.

    Posted Tue April 01, 2014 08:19 AM

    Write a custom fault handler


    #Integration-Server-and-ESB
    #webMethods


  • 7.  RE: Custom fault in consumer gets lost.

    Posted Wed April 16, 2014 02:45 PM

    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.


    #webMethods
    #Integration-Server-and-ESB