次の方法で共有


外部 Web サービスの消費

コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。

新しいクラス ライブラリを追加して Web サービスを使用します。 Microsoft Dynamics AX 2012 では、Microsoft Visual Studio プロジェクトを参照として追加し、Aif::CreateServiceClient を使用することで、X++ コードから Web サービスを使用できました。 このシナリオはサポートされていますが、手順は変更されました。 アプリケーション統合フレームワーク (AIF) は現在サポートされていません。

次の手順は、X++ から外部 StockQuote サービスを使用する方法を示しています。

このサンプルの Web サービス URL は架空のものです。 http://www.contoso.net/stockquote.asmxに既知の Web サービスが存在しません。 このコードを機能させるには、それを特定の Web サービスに適応させる必要があります。

  1. Visual Studio で新しいクラス ライブラリ プロジェクトを作成し、ExternalServiceLibrary.csproj という名前を付けます。

  2. Visual Studio プロジェクトで、外部 Web サービス http://www.contoso.net/stockquote.asmx へのサービス参照を追加します。

  3. 新しい静的クラスを作成し、次の例に示すように StockQuote サービス操作をラップします。

    public static string GetQuote(string s)
    {
        var binding = new System.ServiceModel.BasicHttpBinding();
        var endpointAddress = new EndpointAddress("http://www.contoso.net/stockquote.asmx");
        ServiceLibrary.QuoteReference.StockQuoteSoapClient client = new ServiceLibrary.QuoteReference.StockQuoteSoapClient(binding, endpointAddress);
    
        //GetQuote is the operation on the StockQuote service
        return client.GetQuote("MSFT");
    }
    
  4. プロジェクトを構築します。 バイナリ ExternalServiceLibrary.dll が作成されます。

  5. Visual Studio で、新しい Dynamics プロジェクトを作成します。

  6. 参照として ExternalServiceLibrary.dll を追加します。

  7. X++ クラスでは、ExternalServiceLibrary.dllで参照される外部 Web サービスを使用します。

    public static void main(Args _args)
    {
        info(ServiceLibrary.StockQuoteClass::GetQuote("MSFT"));
    }