次の方法で共有


手順 4: HeaderHelper プロジェクトの作成

この手順では、.NET クラス ライブラリを作成します。 プライベート プロセス オーケストレーションが受信メッセージを受信すると、HeaderHelper ライブラリは、ドキュメントの変換が必要かどうかを判断し、変換が必要な場合は変換を実行します。 これにより、オーケストレーションは別のバージョンの RNIF (RosettaNet Implementation Framework) ドキュメントでも使用できます。 また、3A2 応答メッセージを送信する際には、HeaderHelper ライブラリはメッセージを送信する前に追加のドキュメント変換を実行します。

HeaderHelper プロジェクトを作成するには

  1. Visual Studio のソリューション エクスプローラーで、Contoso ソリューションを右クリックし、[追加] をポイントして、[新しいプロジェクト] をクリックします。

  2. [新しいプロジェクトの追加] ダイアログ ボックスの [プロジェクトの種類] ウィンドウで、[ Visual C#] を選択します。

  3. [テンプレート] ウィンドウで、[ クラス ライブラリ ] テンプレートを選択します。

  4. [ 名前 ] ボックスに 「HeaderHelper」と入力し、[ OK] を クリックしてプロジェクトを作成します。

  5. ソリューション エクスプローラーで、HeaderHelper プロジェクトで Class1.cs ファイルを右クリックし、[名前の変更] をクリックし、「HeaderHelper.cs」と入力して Enter キーを押します。

ヘルパー クラスを作成するには

  1. ソリューション エクスプローラーで HeaderHelper プロジェクトを展開し、HeaderHelper.cs ノードをダブルクリックして HeaderHelper ソース ファイルを開きます。

  2. ソース ファイルに次のコードを入力し、既存のすべてのコードを上書きします。

    using System;  
    using System.Xml;  
    
    namespace ContosoPriceAndAvailability  
    {  
        public class Helper  
        {  
            static public XmlDocument NormalizeHeader( XmlDocument curPip )  
            {  
                string strInput = curPip.OuterXml;  
                try  
                {  
                    XmlDocument xDoc = new XmlDocument();  
    
                    strInput = strInput.Replace("<!DOCTYPE Pip3A2PriceAndAvailabilityQuery SYSTEM \"3A2PriceAndAvailabilityQueryMessageGuideline_v1_3.dtd\"[]>",String.Empty);  
                    strInput = strInput.Replace("<Pip3A2PriceAndAvailabilityQuery>","<Pip3A2PriceAndAvailabilityQuery xmlns=\"http://schemas.microsoft.com/biztalk/btarn/2004/3A2PriceAndAvailabilityQueryMessageGuideline_v1_3.dtd\">");  
                    strInput = strInput.Replace("xml:",String.Empty);  
                    strInput = strInput.Replace("b:",String.Empty);  
                    strInput = strInput.Replace("lang:",String.Empty);  
                    strInput = strInput.Replace("ns1:",String.Empty);  
    
                    xDoc.LoadXml(strInput);  
    
                    return xDoc;  
                }  
                catch(Exception ex)  
                {  
                    System.Diagnostics.Debug.Write( ex.Message );  
                    throw ex;  
                }  
            }  
    
            static public string ReturnSCWithDocType( XmlDocument xmlDoc )  
            {  
                try  
                {  
                    string sResponse = xmlDoc.InnerXml;  
                    sResponse=sResponse.Replace("ns0:",String.Empty);  
                    xmlDoc.LoadXml(sResponse);  
                    xmlDoc.DocumentElement.RemoveAllAttributes();  
                    sResponse = xmlDoc.InnerXml;  
    
                    sResponse = sResponse.Insert(0,"<!DOCTYPE Pip3A2PriceAndAvailabilityResponse SYSTEM \"3A2PriceAndAvailabilityResponseMessageGuideline_v1_3.dtd\">");  
                    sResponse = sResponse.Replace("ns0:",String.Empty);  
                    sResponse = sResponse.Replace("b:",String.Empty);  
                    sResponse = sResponse.Replace("lang:",String.Empty);  
                    sResponse = sResponse.Replace("ns1:",String.Empty);  
    
                    return sResponse;  
                }  
                catch(Exception ex)  
                {  
                    throw ex;  
                }  
            }  
        }  
    }  
    
  3. [ファイル] メニューの [すべてを保存] をクリックします。

HeaderHelper プロジェクトの厳密な名前のアセンブリを作成するには

  1. ソリューション エクスプローラーで HeaderHelper プロジェクトを右クリックし、[プロパティ] をクリックします。

  2. [HeaderHelper プロパティ ページ] ダイアログ ボックスで、[HeaderHelp プロパティ] ウィンドウの左側のウィンドウで [ 署名 ] を選択します。

  3. 右側のウィンドウで、[ アセンブリに署名] をクリックします。

  4. [厳密な名前キー ファイルの選択] テキスト ボックスをクリックし、ドロップダウン リストから [参照>] を選択<します。

  5. [ファイルの選択] ダイアログ ボックスで、Contoso アセンブリの場所に移動し、[ FabConPriceAvail.snk] をダブルクリックします。

  6. [ファイル] メニューの [すべてを保存] をクリックします。

  7. ソリューション エクスプローラーで、HeaderHelper プロジェクトを展開し、[プロパティ] ノードを展開し、[AssemblyInfo.cs] ノードをダブルクリックして AssemblyInfo.cs ソース ファイルを開きます。

  8. AssemblyInfo.cs ソース ファイルの AssemblyCulture 属性の後の行に、次のコードを入力します。

    [assembly: AssemblyKeyFile("../../../FabConPriceAvail.snk")]  
    
  9. [ファイル] メニューの [すべてを保存] をクリックします。

HeaderHelper プロジェクトを構築および展開するには

  1. ソリューション エクスプローラーで、HeaderHelper プロジェクトを右クリックし、[ビルド] をクリックします。

  2. Visual Studio 2012 コマンド プロンプトを起動します。

  3. コマンド プロンプトで、 HeaderHelper プロジェクト出力ディレクトリ (\Bin\Debug フォルダー) の場所に移動します。

  4. コマンド プロンプトで、「 gacutil /if HeaderHelper.dll 」と入力し、 Enter キー を押して HeaderHelper アセンブリを グローバル アセンブリ キャッシュにインストールします。

参照

手順 5: Contoso プライベート プロセス オーケストレーションの変更