2013-11-20 5 views
0

데이터베이스에서 선택 쿼리 만 실행하는 간단한 bpel 워크 플로를 구현해야합니다. 데이터 서비스 wsdl 파일을 만들 수있었습니다. 그 흐름은이 질문과 함께 이미지 파일로 첨부됩니다. 먼저 봐주세요. 이미지를 보면 필자는 매개 변수 "Name"(wso2 Data Service Server에 의해 자동으로 생성 된 wsdl 코드)에 대한 복잡한 구조를 만드는 방법을 알아 냈습니다. 그것은 "Name"과 "nid"라는 2 개의 문자열 값을 가진 "Customer"라는 복잡한 요소를 가지고 있습니다. 당신이 그것을 볼 필요가 있기 때문에 나는 또한 wsdl 파일을 복사했다. 여기에 : http://pastebin.com/QTKZbdzn간단한 bpel 워크 플로 : select query 복수 행 반환

나는 수신 모듈없이 데이터 서비스를 직접 호출하려고 할 때 "프로세스에 시작 활동이 정의되어 있지 않다"는 오류가 발생한다. DataService WSDL

데이터 서비스에 대해 유사한 BPEL 워크 플로우를 구현 한 사람은 누구에게 알려주십시오. 데이터 서비스가 정상적으로 작동합니다! 나는 그것을 별도로 테스트했다. 감사! 나는 내가 BPM에 몇 가지 입력을 제공 할 수 있도록, 또한 DSS를 변경해야합니다 :

UPDATE


나는이 같은 BPM을 만들기까지했다. "select * from customer"처럼 지금은 "select * from customer where nid =?"를 구현하고 있습니다. 그것은 꽤 성공적이라고 판명되었습니다. 도와 주셔서 감사합니다 joergl & vimesh. 그러나 where 절이없는 쿼리가 여전히 어떻게 작동하는지 알아 내면 여기에서 업데이트하십시오. bpm

+0

WSO2 데이터 서비스를 구현하지 않았지만 BPEL에 대해 몇 가지 힌트를 제공 할 수 있습니다. BPEL 프로세스에서는 'receive'또는 'pick'일 수있는 시작 활동이 있어야합니다. 그것이 사양입니다 (http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html#_Toc164738484). 당신의 솔루션은 그런 활동으로 한 번 프로세스를 시작하고, 어떻게 든 살아있게 할 수 있습니다. 그런 다음,'repeatEvery'로'onAlarm'' eventHandler'에서 반복 로직을 실행할 수 있습니다. – joergl

답변

1

데이터 서비스로 bpel 플로우를 만들었습니다. 가장 먼저해야할 일은 bpel 플로우에 receive 요소를 추가하는 것입니다. 사실 그것은 bps에 요청을 보내고 동시에 bps는 요청으로 새로운 인스턴스를 만듭니다. 그런 다음 ESB 프록시, DSS 서비스 등을 호출하는 것과 같이 원하는대로 할 수 있습니다. 외부 서비스를 호출 할 때 해당 요청에 매개 변수를 지정할 수 있습니다. DSS 서비스에 입력 매개 변수를 보내지는 않지만 올바른 형식으로 BPS 내부의 DSS에 요청해야합니다. (신체 부분을 의미합니다) this에서 사용할 수있는 bpel 샘플을 간단히 진행하면됩니다. DSS 통합으로 시작하는 것이 더 좋습니다.

+0

안녕하세요 vimesh, 나와 함께 비슷한 bpel 워크 플로를 공유해도 샘플이 나에게 다음에 대한 명확한 통찰력을주지 않습니다. 이러한 점에 대해 잘 모르겠습니다. 1. 여러 행 (테이블에서 select *와 같은)을 반환하는 DS를 처리하기 위해 루프를 사용해야합니까? 2. 당신이 언급했듯이 DSS에 어떤 매개 변수를 사용하지 않더라도 요청을해야합니다. DS의 이름입니까? 3. 마지막으로 "고객"과 같은 복잡한 데이터 구조가 여기에 문제를 일으킬 수 있다고 생각합니까? 답장을 보내 주셔서 감사합니다. – b51n6h

+0

좋아요. 샘플을 만들어 공유하겠습니다. – vimesh

+2

샘플을 만들고 http://vimeshsnotes.blogspot.com/ – vimesh