WebSphere Enterprise Service Bus, 버전 6.2.0 운영 체제: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


동적으로 컴포넌트 호출

모듈이 WSDL(Web Service Descriptor Language) 포트 유형 인터페이스가 포함된 컴포넌트를 호출할 때 모듈은 invoke() 메소드를 사용하여 동적으로 컴포넌트를 호출해야 합니다.

시작하기 전에

이 타스크에서는 호출 컴포넌트가 컴포넌트를 동적으로 호출한다고 가정합니다.

이 태스크 정보

WSDL 포트 유형 인터페이스에서 호출 컴포넌트는 invoke() 메소드를 사용하여 컴포넌트를 호출해야 합니다. 이러한 방법으로 호출 모듈은 Java™ 인터페이스가 있는 컴포넌트를 호출할 수도 있습니다.
프로시저
  1. 필수 컴포넌트를 포함하는 모듈을 판별하십시오.
  2. 컴포넌트에서 필요한 배열을 판별하십시오.
    입력 배열은 다음 세 유형 중 하나입니다.
    • 기본 대문자 Java 유형 또는 유형의 배열
    • 정규 Java 클래스 또는 클래스의 배열
    • 서비스 데이터 오브젝트(SDO)
  3. 컴포넌트의 응답을 포함하도록 배열을 정의하십시오.

    응답 배열은 입력 배열과 동일한 유형일 수 있습니다.

  4. invoke() 메소드를 사용하여 필수 컴포넌트를 호출하고 배열 오브젝트를 컴포넌트로 전달하십시오.
  5. 결과를 처리하십시오.

컴포넌트 동적 호출 예

다음 예에서는 모듈이 invoke() 메소드를 사용하여 기본 대문자 Java 데이터 유형을 사용하는 컴포넌트를 호출합니다.
Service service = (Service)serviceManager.locateService("multiParamInf");
		
		Reference reference = service.getReference();

		OperationType methodMultiType = 
				reference.getOperationType("methodWithMultiParameter");

		Type t = methodMultiType.getInputType();

		BOFactory boFactory = (BOFactory)serviceManager.locateService
				("com/ibm/websphere/bo/BOFactory");

		DataObject paramObject = boFactory.createbyType(t);

		paramObject.set(0,"input1")
		paramObject.set(1,"input2")
		paramObject.set(2,"input3")

		service.invoke("methodMultiParamater",paramObject);

다음 예는 WSDL 포트 유형 인터페이스를 대상으로 가지는 호출 메소드를 사용합니다.

Service serviceOne = (Service)serviceManager.locateService("multiParamInfWSDL");
	
	DataObject dob = factory.create("http://MultiCallWSServerOne/bos", "SameBO");
			dob.setString("attribute1", stringArg);

	DataObject wrapBo = factory.createByElement
		("http://MultiCallWSServerOne/wsdl/ServerOneInf", "methodOne");
			wrapBo.set("input1", dob); //wrapBo encapsulates all the parameters of methodOne
			wrapBo.set("input2", "XXXX");
			wrapBo.set("input3", "yyyy");

	DataObject resBo= (DataObject)serviceOne.invoke("methodOne", wrapBo);

task 타스크 주제

이용약관 | 피드백


시간소인 아이콘 마지막 갱신 날짜: 2010년 7월 7일 수요일


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/tdev_dynamicinvokcomp.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
이 Information Center는 Eclipse 기술을 기반으로 합니다(http://www.eclipse.org 웹 사이트 참조).