2011-09-13 13 views
1

javaで書かれたWebサービスへの参照があります。私はBizTalkプロジェクトでそれを使用する必要があります。だから、サービス参照の追加 - 詳細 - Web参照の追加は、Java WebサービスがWCFサービスではないため、参照を追加します。 OK、VSは私のためにサービスのXSDとODXを生成します。しかし、私がプロジェクトをコンパイルしようとすると、私は非常に奇妙なエラー"タイプXXXの宣言の部分的な修飾子がありません;このタイプの別の部分宣言が存在"。同じエラーはhereと記載されています。BizTalkでJava Webサービスを使用する

新しいソリューションを作成してコンソールアプリケーションを追加し、Web参照を追加し、そのソリューションが正常に構築されたので、私は何かが欠けていると思った。したがって、BizTalkソリューションでWebサービス参照を追加した場合にのみエラーが発生すると判断できます。

手動でエラーを修正しようとしましたが、Reference.map.csファイルを開き、生成された名前空間に ".Biztalk"という接尾辞を追加し、すべてが正常にコンパイルされました。それは本当にBizTalkプロジェクトのコードジェネレータのバグですか、何か不足していますか?

+0

新しい** BizTalk **プロジェクトとソリューションを作成して、Web参照を再度追加しようとしましたか? – Fabio

+0

@ファビオ、もちろん私は持っています。同じ結果。私はJava Webサービスが正しく実装されていないと思っていましたが、コンソールアプリケーションを作成した後、正しいファイルを作成できないbiztalkコードジェネレータであるという結論を出しました。 –

答えて

0

わからないが、私は

はしかし、私は何だろうと、クラスライブラリプロジェクトを作成し、ここでのWeb参照を追加している...そのエラーを見たことがありません。 here(ポイント#5を参照)のように、SOAP送信ポートでこれを使用できます。また、BizTalkプロジェクト内のクラスライブラリを直接参照することもできます。 Web参照はコンソールアプリケーションで動作すると言われているので、おそらくこれはうまくいくかもしれません...

また、XSDスキーマを直接使用することもできますが、これにはもっと多くの作業が必要です。オーケストレーションまたはカスタムパイプラインコンポーネントでいくつかのプロパティを手動でプロモートする必要があります。 this post(ウェブサイトは現在ダウンしていますが、うまくいけば最終的にオンラインに戻ってきます)の詳細については、こちらをご覧ください。

最後に、httpBindingを使用してWCFアダプタを試すこともできます。これは相互運用のために設計されたもので、メッセージを定義するスキーマを持っている限り機能するはずです。

幸運を祈る!

+0

ありがとうございます。最後に私はそれを働かせました。私がしたことは次のとおりです:** Web参照の追加**ウィザードの使用名前空間の問題のためにコンパイルできないコードを生成しました。それから、サービスxsdを除くすべてのファイルを削除しました。次に** Add New Item **を使用してオーケストレーションを追加し、新しいポートタイプを作成しました。その後、定義したポートタイプを使用するようにオーケストレーションを設定し、サービスxsdファイルで定義され、ポートタイプで必要とされるタイプの入出力メッセージを作成しました。その後、** BizTalk Server Administration **を使用して送信ポートをセットアップし、最後にそれを動作させました。 –

関連する問題