
package jp.co.argo21.nautica.workflow.soap;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import jp.co.argo21.nautica.workflow.soap.message.Activity;
import jp.co.argo21.nautica.workflow.soap.message.ActivityState;
import jp.co.argo21.nautica.workflow.soap.message.Attribute;
import jp.co.argo21.nautica.workflow.soap.message.Filter;
import jp.co.argo21.nautica.workflow.soap.message.Process;
import jp.co.argo21.nautica.workflow.soap.message.ProcessState;


/**
 * This class was generated by the JAXWS SI.
 * JAX-WS RI 2.0_02-b08-fcs
 * Generated source version: 2.0
 * 
 */
@WebService(name = "WorkflowEngineHandler", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
public interface WorkflowEngineHandler {


    /**
     * 
     * @param session
     * @param attr
     * @param pid
     * @param aid
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws AttributeAssignmentFailedException
     * @throws InvalidActivityInstanceException
     * @throws InvalidAttributeException
     */
    @WebMethod
    @RequestWrapper(localName = "assignActivityAttribute", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.AssignActivityAttribute")
    @ResponseWrapper(localName = "assignActivityAttributeResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.AssignActivityAttributeResponse")
    public void assignActivityAttribute(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid,
        @WebParam(name = "attr", targetNamespace = "")
        Attribute attr)
        throws AttributeAssignmentFailedException, InvalidActivityInstanceException, InvalidAttributeException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param attr
     * @param pid
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws AttributeAssignmentFailedException
     * @throws InvalidAttributeException
     */
    @WebMethod
    @RequestWrapper(localName = "assignProcessAttribute", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.AssignProcessAttribute")
    @ResponseWrapper(localName = "assignProcessAttributeResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.AssignProcessAttributeResponse")
    public void assignProcessAttribute(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "attr", targetNamespace = "")
        Attribute attr)
        throws AttributeAssignmentFailedException, InvalidAttributeException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param state
     * @param pid
     * @param aid
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidStateException
     * @throws TransitionNotAllowedException
     * @throws InvalidActivityInstanceException
     */
    @WebMethod
    @RequestWrapper(localName = "changeActivityState", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.ChangeActivityState")
    @ResponseWrapper(localName = "changeActivityStateResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.ChangeActivityStateResponse")
    public void changeActivityState(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid,
        @WebParam(name = "state", targetNamespace = "")
        ActivityState state)
        throws InvalidActivityInstanceException, InvalidProcessInstanceException, InvalidSessionException, InvalidStateException, TransitionNotAllowedException
    ;

    /**
     * 
     * @param session
     * @param state
     * @param pid
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidStateException
     * @throws TransitionNotAllowedException
     */
    @WebMethod
    @RequestWrapper(localName = "changeProcessState", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.ChangeProcessState")
    @ResponseWrapper(localName = "changeProcessStateResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.ChangeProcessStateResponse")
    public void changeProcessState(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "state", targetNamespace = "")
        ProcessState state)
        throws InvalidProcessInstanceException, InvalidSessionException, InvalidStateException, TransitionNotAllowedException
    ;

    /**
     * 
     * @param pdid
     * @param session
     * @param name
     * @return
     *     returns java.lang.String
     * @throws InvalidSessionException
     * @throws InvalidProcessDefinitionException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "createProcess", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.CreateProcess")
    @ResponseWrapper(localName = "createProcessResponseWrapper", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.CreateProcessResponseWrapper")
    public String createProcess(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pdid", targetNamespace = "")
        String pdid,
        @WebParam(name = "name", targetNamespace = "")
        String name)
        throws InvalidProcessDefinitionException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.Activity>
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivities1", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivities1")
    @ResponseWrapper(localName = "getActivitiesResponse1", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivitiesResponse1")
    public List<Activity> getActivities1(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidFilterException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.Activity>
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivities2", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivities2")
    @ResponseWrapper(localName = "getActivitiesResponse2", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivitiesResponse2")
    public List<Activity> getActivities2(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidFilterException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param aid
     * @return
     *     returns jp.co.argo21.nautica.workflow.soap.message.Activity
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidActivityInstanceException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivity", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivity")
    @ResponseWrapper(localName = "getActivityResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityResponse")
    public Activity getActivity(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid)
        throws InvalidActivityInstanceException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param name
     * @param pid
     * @param aid
     * @return
     *     returns jp.co.argo21.nautica.workflow.soap.message.Attribute
     * @throws InvalidSessionException
     * @throws InvalidAttributeException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivityAttributeValue", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityAttributeValue")
    @ResponseWrapper(localName = "getActivityAttributeValueResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityAttributeValueResponse")
    public Attribute getActivityAttributeValue(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid,
        @WebParam(name = "name", targetNamespace = "")
        String name)
        throws InvalidAttributeException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param aid
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.Attribute>
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     * @throws InvalidActivityInstanceException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivityAttributes", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityAttributes")
    @ResponseWrapper(localName = "getActivityAttributesResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityAttributesResponse")
    public List<Attribute> getActivityAttributes(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidActivityInstanceException, InvalidFilterException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param aid
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.ActivityState>
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     * @throws InvalidActivityInstanceException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getActivityStates", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityStates")
    @ResponseWrapper(localName = "getActivityStatesResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetActivityStatesResponse")
    public List<ActivityState> getActivityStates(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "aid", targetNamespace = "")
        String aid,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidActivityInstanceException, InvalidFilterException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @return
     *     returns jp.co.argo21.nautica.workflow.soap.message.Process
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getProcess", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcess")
    @ResponseWrapper(localName = "getProcessResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessResponse")
    public Process getProcess(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid)
        throws InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param name
     * @param pid
     * @return
     *     returns jp.co.argo21.nautica.workflow.soap.message.Attribute
     * @throws InvalidSessionException
     * @throws InvalidAttributeException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getProcessAttributeValue", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessAttributeValue")
    @ResponseWrapper(localName = "getProcessAttributeValueResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessAttributeValueResponse")
    public Attribute getProcessAttributeValue(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "name", targetNamespace = "")
        String name)
        throws InvalidAttributeException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.Attribute>
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getProcessAttributes", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessAttributes")
    @ResponseWrapper(localName = "getProcessAttributesResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessAttributesResponse")
    public List<Attribute> getProcessAttributes(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidFilterException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.ProcessState>
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getProcessStates", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessStates")
    @ResponseWrapper(localName = "getProcessStatesResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessStatesResponse")
    public List<ProcessState> getProcessStates(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidFilterException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param filter
     * @return
     *     returns java.util.List<jp.co.argo21.nautica.workflow.soap.message.Process>
     * @throws InvalidSessionException
     * @throws InvalidFilterException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "getProcesses", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcesses")
    @ResponseWrapper(localName = "getProcessesResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.GetProcessesResponse")
    public List<Process> getProcesses(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "filter", targetNamespace = "")
        List<Filter> filter)
        throws InvalidFilterException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @return
     *     returns java.lang.String
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     * @throws InvalidAttributeException
     */
    @WebMethod
    @WebResult(targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message")
    @RequestWrapper(localName = "startProcess", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.StartProcess")
    @ResponseWrapper(localName = "startProcessResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.StartProcessResponse")
    public String startProcess(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid)
        throws InvalidAttributeException, InvalidProcessInstanceException, InvalidSessionException
    ;

    /**
     * 
     * @param session
     * @param pid
     * @throws InvalidProcessInstanceException
     * @throws InvalidSessionException
     */
    @WebMethod
    @RequestWrapper(localName = "terminateProcess", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.TerminateProcess")
    @ResponseWrapper(localName = "terminateProcessResponse", targetNamespace = "http://www.argo21.co.jp/nautica/workflow/soap/message", className = "jp.co.argo21.nautica.workflow.soap.message.TerminateProcessResponse")
    public void terminateProcess(
        @WebParam(name = "session", targetNamespace = "")
        String session,
        @WebParam(name = "pid", targetNamespace = "")
        String pid)
        throws InvalidProcessInstanceException, InvalidSessionException
    ;

}
