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
Expand all | Collapse all

Unable to make webservice call from rule action

webMethods Community Member

webMethods Community MemberSat July 25, 2009 12:17 PM

webMethods Community Member

webMethods Community MemberMon August 03, 2009 10:53 PM

  • 1.  Unable to make webservice call from rule action

    Posted Thu July 23, 2009 09:03 AM

    I am getting the following error in Analytical Engine’s server.log file while making call to a webservice from rule’s action:

    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-07-23 10:30:27.971 AST ERROR: Error sending context com.dante.analysis.action.template.context.ActionContextImpl@d229cf
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-07-23 10:30:27.971 AST ERROR: electric.registry.RegistryException: could not bind to <IP_Address>:/ws/<Top_Folder>/<Sub_Folder>/abcWebService

    Following is the WSAction Settings :

    <?xml version="1.0" encoding="UTF-8"?> Test Action webservice1 :/ws///abcWebService.wsdl optimizeWebService [Place parameter name and types here] RuleName RuleInstanceName RuleDefinition RuleEvaluation RuleSla RuleCustomer RuleSeverity RuleStatus Attributes Time ProcessInfo

    I have created a WSD consumer and tested the web service.

    My guess is the web service URL format is wrong. Any ideas ? I have also tried without “ws” in the URL but same error.


    #BPM
    #webMethods-BPMS
    #webMethods


  • 2.  RE: Unable to make webservice call from rule action

    Posted Sat July 25, 2009 12:17 PM


  • 3.  RE: Unable to make webservice call from rule action

    Posted Sun August 02, 2009 09:15 AM

    Ok so I was right, the url format to call webservice was wrong. It looks like you have to use WSDL url instead of what it says in documentation which is weird because this is my first time where documentation was wrong or maybe there are two ways to call webservice. Anyways I was able to call webservice from optimize using a url something like that:

    http://:/ws/:?WSDL

    So now after getting the webservice working I am having another problem where all the inputs which I am passing in WSAction are not coming in webservice call even though I have those inputs defined in webservice. Following is the template I am using in WSAction:

    Any idea how to pass the violated rule information in webservice or what am I doing wrong here ?


    #webMethods-BPMS
    #BPM
    #webMethods


  • 4.  RE: Unable to make webservice call from rule action

    Posted Mon August 03, 2009 10:53 PM

    Any suggestions on this ?


    #webMethods-BPMS
    #webMethods
    #BPM


  • 5.  RE: Unable to make webservice call from rule action

    Posted Tue August 11, 2009 03:46 PM

    Ok so here is the update, I found out, few days before in an old SR, that WSAction only supports RPC protocol and not Document-Literal which I didn’t find in documentations(probably because it isn’t mentioned). Anyways I was wondering if someone can point me to a documentation which mentions all the available variables which can be passed in WSAction webservice. Optimize for infrastructure Administrator guide mentions the following ones but I was hoping for some more because in email alerts you get some additional ones which aren’t mentioned in the guide for example “URL” etc:

    RuleName RuleDefinition RuleInstanceName RuleEvaluation RuleSla RuleCustomer RuleSeverity RuleStatus Attributes Time ProcessInfo
    #webMethods-BPMS
    #webMethods
    #BPM


  • 6.  RE: Unable to make webservice call from rule action

    Posted Wed August 26, 2009 09:23 PM

    we can also get additional parameters like eventmap parameters facts,dimensions.we have to add the display names of these variables in
    WSAction xml.

    Thanks,
    -V S Pachica


    #webMethods
    #webMethods-BPMS
    #BPM


  • 7.  RE: Unable to make webservice call from rule action

    Posted Thu August 27, 2009 06:05 PM

    Pachica,

    Thanks for the reply, but is there is documentation which lists all those variables ? Reason I am looking for those is because you have to literally use the exact same name in WSAction and webservice to catch those variables. Also it doesn’t show up in pipeline when you save pipeline at the beginning of webservice.


    #BPM
    #webMethods-BPMS
    #webMethods


  • 8.  RE: Unable to make webservice call from rule action

    Posted Fri August 28, 2009 02:01 AM

    I’m not sure about the documentation.we have to use the same name variables in WSAction and webservice input signature.whatever the parameters you want from eventmap inaddition to the standard variables like RuleStatus,RuleDefination…etc…
    Add all there variables in WSAction and webservice input.
    we have to use the Ddisplayname of the variable instead of exactname.
    You can see all these parameters in pipeline after rule violation.

    Thanks,
    -V S Pachica.


    #BPM
    #webMethods-BPMS
    #webMethods


  • 9.  RE: Unable to make webservice call from rule action

    Posted Tue November 17, 2009 07:20 PM

    Hi Talha,

    First of all, tks to create this post about Ws action. The WM guide does not have details information about this feature. So, I created a webservice action to send optimize alerts but I can’t grab this rules informations into my Web service created in IS 7.1.2. When I save the pipeline. I only get a blank record called ‘list’ in my input service. How did you create this WSDL input ?

    Regards,

    Marcos

    My WS action xml:

    <?xml version="1.0" encoding="UTF-8"?>


    WebService
    http://AUSDFSSIDEV02:5555/ws/DfsCareServices.Services.troubleTicket:optimizeTroubleTicketWSTest?WSDL
    optimizeTroubleTicketActionService


    RuleName


    RuleInstanceName


    RuleDefinition


    RuleEvaluation


    RuleSla


    RuleCustomer


    RuleSeverity


    RuleStatus


    Attributes


    Time


    ProcessInfo



    marcos_filipe_pereir
    1258481118901_0
    ********




    #BPM
    #webMethods
    #webMethods-BPMS


  • 10.  RE: Unable to make webservice call from rule action

    Posted Wed November 18, 2009 03:44 PM

    Marcos,

    Make sure which ever variable you are passing from WSAction in MWS, should have the same input variables in your service. See the attachment.
    input.jpg


    #BPM
    #webMethods
    #webMethods-BPMS


  • 11.  RE: Unable to make webservice call from rule action

    Posted Wed November 18, 2009 05:07 PM

    When I put according your attachment file. I got this error:
    so, strange because the fields are matching.

    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: Error sending context com.dante.analysis.action.template.context.ActionContextImpl@19ae1a0
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: java.rmi.MarshalException: java.lang.ArrayIndexOutOfBoundsException: 9
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at electric.soap.wsdl.SOAPOperation.writeRequest(SOAPOperation.java:403)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at electric.soap.java.reference.JavaToSOAP.invoke(JavaToSOAP.java:223)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at electric.soap.java.reference.JavaToSOAP.invoke(JavaToSOAP.java:187)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at electric.proxy.handler.Proxy.invoke(Proxy.java:250)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at com.dante.analysis.action.WebServiceAction.executeAction(WebServiceAction.java:219)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at com.dante.analysis.action.ActionInvocation.run(ActionInvocation.java:23)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.util.concurrent.FutureTask.run(FutureTask.java:123)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    (OPTIMIZE) [Analytic Engine v7.1.2.0.WebServiceAction.wsActionInvokeAction] 2009-11-18 10:34:10.499 CST ERROR: at java.lang.Thread.run(Thread.java:595)


    #webMethods
    #webMethods-BPMS
    #BPM


  • 12.  RE: Unable to make webservice call from rule action

    Posted Thu April 14, 2011 03:22 PM

    As per the message tells you “java.lang.ArrayIndexOutOfBoundsException: 9” that number arguments in the invoked webservice and the number of arguments passed through the wsaction tag is ({parameters} not the same in case if your webservice uses SOAP RPC call please check on this nad let us know if you still face the isssue.


    #webMethods
    #BPM
    #webMethods-BPMS