org.jbpm.process.workitem.webservice

## Class WebServiceWorkItemHandler

- java.lang.Object
- - org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler
  - - org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler

- All Implemented Interfaces:
    org.kie.api.runtime.process.WorkItemHandler, org.kie.internal.runtime.Cacheable

      @Wid(widfile="WebServiceDefinitions.wid",name="WebService",displayName="WebService",defaultHandler="mvel: new org.jbpm.process.workitem.webservice.WebServiceWorkItemHandler()",documentation="jbpm-workitems-webservice/index.html",category="jbpm-workitems-webservice",icon="WebService.png",parameters={@WidParameter(name="Url"),@WidParameter(name="Namespace"),@WidParameter(name="Interface"),@WidParameter(name="Operation"),@WidParameter(name="Endpoint"),@WidParameter(name="Parameter"),@WidParameter(name="Mode")},results=@WidResult(name="Result",runtimeType="java.lang.Object"),mavenDepends=@WidMavenDepends(group="org.jbpm",artifact="jbpm-workitems-webservice",version="7.41.0.Final"),serviceInfo=@WidService(category="WebService",description="Perform WebService operations",keywords="webservice,call",action=@WidAction(title="Perform a WebService call"),authinfo=@WidAuth))
      public class WebServiceWorkItemHandler
      extends AbstractLogOrThrowWorkItemHandler
      implements org.kie.internal.runtime.Cacheable

  Web Service Work Item Handler that performs a WebService call. It is not supported out of the box on JDK11+ when running inside WildFly/EAP container with JDK11+ due to Apache CXF not properly resolving classpath.
  See Also:
    `https://issues.apache.org/jira/browse/CXF-7925`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `WSDL_IMPORT_TYPE`

    - ### Fields inherited from class org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler

      `handlingProcessId, handlingStrategy, logThrownException, retries`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WebServiceWorkItemHandler()` Default constructor - no authentication nor ksession
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession)` Used when no authentication is required
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession, ClassLoader classloader)` Used when no authentication is required
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession, ClassLoader classloader, String username, String password)` Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession, int timeout)` Used when no authentication is required
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession, int timeout, String username, String password)` Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler(org.kie.api.runtime.KieSession kieSession, String username, String password)` Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession ksession)` Used when no authentication is required
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession ksession, ClassLoader classloader)` Used when no authentication is required
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession ksession, ClassLoader classloader, String username, String password)` Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession ksession, int timeout)` Used when no authentication is required
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession ksession, int timeout, String username, String password)` Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler(String handlingProcessId, String handlingStrategy, org.kie.api.runtime.KieSession kieSession, String username, String password)` Dedicated constructor when BASIC authentication method shall be used

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `abortWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)`
    `protected void` | `applyAuthorization(String userName, String password, org.apache.cxf.endpoint.Client client)`
    `void` | `close()`
    `void` | `executeWorkItem(org.kie.api.runtime.process.WorkItem workItem, org.kie.api.runtime.process.WorkItemManager manager)`
    `ClassLoader` | `getClassLoader()`
    `protected org.apache.cxf.endpoint.dynamic.DynamicClientFactory` | `getDynamicClientFactory()`
    `protected org.apache.cxf.endpoint.Client` | `getWSClient(org.kie.api.runtime.process.WorkItem workItem, String interfaceRef)`
    `protected String` | `nonNull(String value)`
    `void` | `setClassLoader(ClassLoader classLoader)`
    `void` | `setClients(ConcurrentHashMap<String,org.apache.cxf.endpoint.Client> clients)`

    - ### Methods inherited from class org.jbpm.process.workitem.core.AbstractLogOrThrowWorkItemHandler

      `findNodeInstance, handleException, handleException, setLogThrownException`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### WSDL_IMPORT_TYPE

          public static final String WSDL_IMPORT_TYPE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler()

      Default constructor - no authentication nor ksession

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession)

      Used when no authentication is required
      Parameters:
        `ksession` - - kie session

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession kieSession,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `kieSession` - - kie session
        `username` - - basic auth username
        `password` - - basic auth password

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession,
                                           ClassLoader classloader)

      Used when no authentication is required
      Parameters:
        `ksession` - - kie session
        `classloader` - - classloader to use

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession,
                                           ClassLoader classloader,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `ksession` - - kie session
        `classloader` - - classloader to use
        `username` - - basic auth username
        `password` - - basic auth password

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession,
                                           int timeout)

      Used when no authentication is required
      Parameters:
        `ksession` - - kie session
        `timeout` - - connection timeout

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(org.kie.api.runtime.KieSession ksession,
                                           int timeout,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `ksession` - - kie session
        `timeout` - - connection timeout
        `username` - - basic auth username
        `password` - - basic auth password

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession ksession)

      Used when no authentication is required
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `ksession` - - kie session

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession kieSession,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `kieSession` - - kie session
        `username` - - basic auth username
        `password` - - basic auth password

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession ksession,
                                           ClassLoader classloader)

      Used when no authentication is required
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `ksession` - - kie session
        `classloader` - - classloader to use

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession ksession,
                                           ClassLoader classloader,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `ksession` - - kie session
        `classloader` - - classloader to use
        `username` - - basic auth username
        `password` - - basic auth password

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession ksession,
                                           int timeout)

      Used when no authentication is required
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `ksession` - - kie session
        `timeout` - - connection timeout

    - #### WebServiceWorkItemHandler

          public WebServiceWorkItemHandler(String handlingProcessId,
                                           String handlingStrategy,
                                           org.kie.api.runtime.KieSession ksession,
                                           int timeout,
                                           String username,
                                           String password)

      Dedicated constructor when BASIC authentication method shall be used
      Parameters:
        `handlingProcessId` - - process id to handle exception
        `handlingStrategy` - - strategy to be applied after handling exception process is completed
        `ksession` - - kie session
        `timeout` - - connection timeout
        `username` - - basic auth username
        `password` - - basic auth password

  - ### Method Detail

    - #### executeWorkItem

          public void executeWorkItem(org.kie.api.runtime.process.WorkItem workItem,
                                      org.kie.api.runtime.process.WorkItemManager manager)

      Specified by:
        `executeWorkItem` in interface `org.kie.api.runtime.process.WorkItemHandler`

    - #### getWSClient

          protected org.apache.cxf.endpoint.Client getWSClient(org.kie.api.runtime.process.WorkItem workItem,
                                                               String interfaceRef)

    - #### getDynamicClientFactory

          protected org.apache.cxf.endpoint.dynamic.DynamicClientFactory getDynamicClientFactory()

    - #### abortWorkItem

          public void abortWorkItem(org.kie.api.runtime.process.WorkItem workItem,
                                    org.kie.api.runtime.process.WorkItemManager manager)

      Specified by:
        `abortWorkItem` in interface `org.kie.api.runtime.process.WorkItemHandler`

    - #### getClassLoader

          public ClassLoader getClassLoader()

    - #### setClassLoader

          public void setClassLoader(ClassLoader classLoader)

    - #### nonNull

          protected String nonNull(String value)

    - #### close

          public void close()

      Specified by:
        `close` in interface `org.kie.internal.runtime.Cacheable`

    - #### applyAuthorization

          protected void applyAuthorization(String userName,
                                            String password,
                                            org.apache.cxf.endpoint.Client client)

    - #### setClients

          public void setClients(ConcurrentHashMap<String,org.apache.cxf.endpoint.Client> clients)

Copyright © 2001–2020 JBoss by Red Hat. All rights reserved.