1

Acceleo で BPEL から Java への変換を試みています。私は 2 つまたは 3 つのチュートリアルを行い、そのすべてで UML 入力モデルを使用しましたが、bpel モデルとその bpel.ecore メタモデルをどのように扱うべきかは理解できたと思います。

ただし、BPEL プロセス ファイルの名前で Java ファイルを生成するだけの非常に簡単な変換の実行に問題があります。

ここに私の Acceleo generate.mtl ファイルがあります:

[comment encoding = UTF-8 /]
[module generate('http:///org/eclipse/bpel/model/bpel.ecore')]

[template public generateElement(aProcess : Process)]
[comment @main /]
[file (aProcess.name, false, 'UTF-8')]
[/file]
[/template]

そしてここに入力.bpelファイル(その一部):

<!-- BPEL_sayHelloProcess BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Wed Jul 18 11:00:50 CEST 2012 -->
<bpel:process name="BPEL_sayHelloProcess"
         targetNamespace="http://bpeltojava.uni"
         suppressJoinFailure="yes"
....
....
</bpel:process>

ここに私が得るエラーがあります:

メイン テンプレートの 1 つの最初のパラメーターの型と少なくとも一致するモデル要素がないため、ファイルの生成に失敗しました。この問題は、メタモデルの登録の問題が原因である可能性があります。ジェネレーターの Java ランチャーで「registerPackages」という名前のメソッドを参照してください。また、生成のエントリ ポイントとして使用されるテンプレートで [comment @main/] が欠落していることが原因である可能性もあります。

私はEclipse Modeling Juno 4.2とAcceleo 3.3.0を使用しています:-)

4

2 に答える 2

0

問題が分かったようです。

Eclipse Indigo Modeling 3.7.2 をダウンロードしてインストールし、更新サイトから Acceleo 3.3 プラグインを追加しました。BPEL プラグイン バージョン 1.0 と Acceleo 変換はすぐに機能し、特に何もする必要はありません。単にエラーが発生しなくなりました。 .

Eclipse Juno および BPEL プラグイン内で BPEL に関するいくつかのチュートリアルを実行しているときに、ここで既に経験したように、問題は依存していると思います。

これが同じ問題に遭遇した他の誰かを助けることを願っています

于 2012-07-26T12:44:38.053 に答える
0

このエラーは通常、モデルにインスタンスがないターゲット タイプで「メイン」テンプレートを定義するときに発生します。この例では、メイン テンプレート:

[template public generateElement(aProcess : Process)]
[comment @main /]

「Process」要素を入力として受け取るように定義されています。入力モデルにこのタイプの要素が含まれていることを確認する必要があります。

また、パッケージとリソース ファクトリが正しく登録されていることを確認してください (省略可能。BPEL ファイルには何もない場合があります)。これは、メイン モジュールの横に生成された Java クラスで行われます。「registerPackage」と「registerFactories」のサンプル実装を見てください。BPEL 登録は、私たちが提供するサンプルに近いはずです。

于 2012-07-23T07:27:11.127 に答える