私がここに持っているのはこれです:
Visual Studio 2010のBiztalkプロジェクト、Biztalk2010サーバーで実行されている対応するBiztalkアプリケーション。受信ポートはHL7-V3スキーマを受け入れ、それをスキーマに変換します。このスキーマはSQL Server 2008インスタンスに送信され、ストアドプロシージャを介してテーブルに挿入されます。受信ポートがFILEアダプターを使用している場合、すべてが意図したとおりに機能します(HL7ファイルからのデータがテーブルに挿入されます)。
そのため、Web経由で受信ポートを公開するためにWebサービスが必要になるようになりました...VS2010に「BiztalkWCFサービス公開ウィザード」が組み込まれています。これは私が私のトラックで停止しているところです。
「作成」ステップまでウィザードに従うことができます。これにより、Biztalkアセンブリからのスキーマの抽出の約半分になり、その後、バーフして一般的なエラーがスローされます。
「指定されたキーが辞書に存在しませんでした」
多くの検索と頭を悩ませた後、私はついにウィザードがXsd.exe(私にとっては初めて)を使用してスキーマからコードを生成するという事実に導かれました。これにより、MSDNライブラリの記事にアクセスしました。ここには、含まれているスキーマがXsd.exeによって無視されると記載されています。さて、私たちが使用しているメッセージのHL7V3スキーマセットには、全部で約30個のファイルがあります。これらはすべて、次のようにあらゆる場所で相互に参照しています。
<xs:include schemaLocation="../coreschemas/infrastructureRoot.xsd"/>
<xs:include schemaLocation="COCT_MT050002UV07.xsd"/>
<xs:include schemaLocation="COCT_MT090100UV01.xsd"/>
<xs:include schemaLocation="COCT_MT240000UV01.xsd"/>
<xs:include schemaLocation="COCT_MT150000UV02.xsd"/>
だから私の問題があります。
だから今私の質問はこれです:Biztalkプロジェクトから手動でWCFサービスを作成する方法はありますか、それとももっと良いことに、この場合にウィザードを動作させるだけですか?または、これが私の最初のBiztalkプロジェクトであるため、どこを見ればよいかについての提案です。
私のグーグルは、ウィザードのためのたくさんのハウツーを思いついただけです。