동기 인터페이스를 호출하는 원래 타스크 시작

이 타스크의 수행 목적 및 시기

비동기 인터페이스를 호출하는 원래 타스크는 마이크로플로우의 인라인 원래 타스크, 마이크로플로우의 독립형 원래 타스크 및 예를 들어 단순 Java 클래스를 시작하는 원래 타스크를 포함합니다.

이 시나리오는 타스크 템플리트의 인스턴스를 작성하고 몇가지 고객 데이터를 전달합니다. 타스크는 양방향 조작이 리턴할 때까지 실행 상태로 남아 있습니다. 타스크 OrderNo의 결과가 호출자에게 리턴됩니다.

이 타스크의 단계

  1. 옵션: 타스크 템플리트의 목록을 표시하여 실행하려는 원래 타스크의 이름을 찾으십시오.

    타스크의 이름을 이미 아는 경우 이 단계는 선택적입니다.

    TaskTemplate[] taskTemplates = task.queryTaskTemplates
    ("TASK_TEMPL.KIND=TASK_TEMPL.KIND.KIND_ORIGINATING",
     "TASK_TEMPL.NAME",
      new Integer(50),
      null);

    결과는 이름별로 정렬됩니다. 조회에서 처음 50개의 정렬된 원래 템플리트를 포함하는 배열이 리턴됩니다.

  2. 해당 유형의 입력 메시지를 작성하십시오.
    TaskTemplate template = taskTemplates[0];
    
    // create a message for the selected task
    ClientObjectWrapper input = task.createInputMessage( template.getID());                       
    DataObject myMessage = null ;
    if ( input.getObject()!= null && input.getObject() instanceof DataObject )
    {
      myMessage = (DataObject)input.getObject();
      //set the parts in the message, for example, a customer name
      myMessage.setString("CustomerName", "Smith");
    }
  3. 타스크를 작성한 후 타스크를 동기적으로 실행하십시오.

    동기적으로 실행할 타스크는 반드시 양방향 조작이어야 합니다. 이 예에서는 createAndCallTask 메소드를 사용하여 타스크를 작성하고 실행합니다.

    ClientObjectWrapper output = task.createAndCallTask( template.getName(), 
                                                         template.getNamespace(),
                                                         input);
  4. 타스크의 결과를 분석하십시오.
    DataObject myOutput = null;
    if ( output.getObject() != null && output.getObject() instanceof DataObject )
    {
      myOutput  = (DataObject)output.getObject();
      int order = myOutput.getInt("OrderNo");
    }
관련 개념
비즈니스 프로세스 및 타스크 관련 오브젝트에 대한 조회

Terms of use |

Last updated: Thu Mar 23 18:55:29 2006

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)