Package 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="defaultwebserviceicon.png",parameters={@WidParameter(name="Url"),@WidParameter(name="Namespace"),@WidParameter(name="Interface"),@WidParameter(name="Operation"),@WidParameter(name="Endpoint"),@WidParameter(name="Parameter"),@WidParameter(name="Mode"),@WidParameter(name="Wrapped")},results=@WidResult(name="Result",runtimeType="java.lang.Object"),mavenDepends=@WidMavenDepends(group="org.jbpm",artifact="jbpm-workitems-webservice",version="7.62.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.

- - ### Field Summary

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

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

      `handlingProcessId, handlingStrategy, logThrownException, retries`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WebServiceWorkItemHandler()` | Default constructor - no authentication nor ksession
    `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, 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 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 kieSession, String username, String password)` | Dedicated constructor when BASIC authentication method shall be used
    `WebServiceWorkItemHandler​(org.kie.api.runtime.KieSession ksession)` | Used when no authentication is required
    `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 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 kieSession, String username, String password)` | Dedicated constructor when BASIC authentication method shall be used

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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()` |
    `static Object` | `createEscapeHandler​(org.apache.cxf.jaxb.JAXBDataBinding binding, String escapeHandler)` |
    `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)

    - #### createEscapeHandler

          public static Object createEscapeHandler​(org.apache.cxf.jaxb.JAXBDataBinding binding,
                                                   String escapeHandler)

    - #### 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)