2

私がここに持っているのはこれです:

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プロジェクトであるため、どこを見ればよいかについての提案です。

私のグーグルは、ウィザードのためのたくさんのハウツーを思いついただけです。

4

1 に答える 1

3

さて、問題は解決されました。うさぎの穴が多すぎたにもかかわらず、「HL7v3入門」というMSDNと「スキーマの変更」という小さなセクションがあるBiztalkServer2006の記事に出くわしました。変更の1つは、HL7v3のいくつかのコアスキーマファイルにターゲット名前空間を追加することです。

過去にこのドキュメントを見たことがありますが、これにより、BizTalkServerでスキーマをコンパイルするときにサポートされない問題が修正されると記載されています。エラーが発生しなかったので無視しましたが、2006年ではなく2010年を使用していたので、「今すぐ修正する必要があります...エラーはありません」と素朴に思いました。

そうではなく、ドキュメントが提案したとおりに実行し、すぐにBiztalk WCFサービス公開ウィザードを展開して実行しました。すべてが機能し、生成されたヘルプページと.wsdlページを表示できました。

これが将来誰かに役立つことを願っています。私にとっては非常に反気候的です。

于 2012-08-21T18:24:20.230 に答える