NetSuite OpenAir コネクタ

Select

NetSuite OpenAir コネクタは、クローズドソースエンタープライズコネクタで、OpenAir とサードパーティソフトウェア間の接続を提供します。

前提条件

このドキュメントは、読者が Mule、Anypoint コネクタ、Anypoint Studio、Mule の概念、Mule フローの要素、グローバル要素に精通していることを前提としています。

このコネクタを使用するには次が必要です。

  • NetSuite OpenAir インスタンス

  • ユーザ名、パスワード、会社 ID、API 名前空間、キーを含む有効なログイン情報セット

  • MuleSoft Enterprise ライセンス

コネクタについて理解するために 『NetSuite OpenAir SOAP API Guide (NetSuite OpenAir SOAP API ガイド)』(PDF) を使用することをお勧めします。

OpenAir 複合型は、一部の OpenAir 操作に制限されています。 対象のオブジェクト種別については、OpenAir ガイドを参照してください。たとえば、オブジェクト oaActualCost は read、add、modify、upsert の各メソッドで使用できますが、オブジェクト oaApproval を使用できるのは submit メソッドのみです。

このコネクタの新機能

Mule 4 のサポートが追加されました。

互換性

OpenAir コネクタは、次のものと互換性があります。

アプリケーション/サービス バージョン

Mule Runtime

EE 4.1.0 以降

Anypoint Studio

7.1 以降

Java

JDK 8

Design Center での接続方法

  1. HTTP リスナやスケジューラなどのトリガをクリックします。

  2. コネクタの HTTP グローバル要素を作成するには、まず Mule アプリケーションがリスンするパスを設定します。

    パス
  3. [Edit (編集)] をクリックし、次の項目を設定します。

    トリガオプション
    項目 説明

    Protocol (プロトコル)

    HTTP エンドポイントのプロトコル。HTTP または HTTPS (セキュア) を選択できます。

    Host (ホスト)

    Mule アプリケーションが要求をリスンする IP アドレス。

    Port (ポート)

    Mule アプリケーションが要求をリスンするポートアドレス。

    Base Path (ベースパス)

    省略可能なベースパス。Mule アプリケーションは、ベースパス + パスをリスンします。

  4. トリガの横にあるプラス記号を選択してコンポーネントを追加します。

  5. コンポーネントとしてコネクタを選択します。

  6. 操作を選択します。

    操作
  7. コネクタのグローバル要素を設定します。

    アカウント設定
    項目 説明

    Company (会社)

    会社を入力します。

    Username (ユーザ名)

    接続を行うユーザ名を入力します。

    Password (パスワード)

    上で選択したユーザのパスワードを入力します。

    API Namespace (API 名前空間)

    API 名前空間を入力します。

    Api Key (API キー)

    API キーを入力します。

  8. 必要に応じて、コネクタの接続オプションを設定します。

    コネクタの設定
    項目 説明

    Endpoint (エンドポイント)

    エンドポイントを入力します。

    Connection Timeout (接続タイムアウト)

    接続タイムアウトを入力します。

    Read Timeout (読み取りタイムアウト)

    読み取りタイムアウトを入力します。

Anypoint Studio 7 での接続

このコネクタは、連動関係として Mule アプリケーションに追加すれば Anypoint Studio で使用できます。

Studio でコネクタをインストールする

  1. Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。

  2. Anypoint Exchange で [Login (ログイン)] をクリックします。

  3. コネクタを検索して [Install (インストール)] をクリックします。

  4. 画面の指示に従ってコネクタをインストールします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。更新後、新しいバージョンへの Maven pom.xml ファイルの連動関係を更新します。

Maven 連動関係が設定されていることを確認します。

  1. Anypoint Studio で Mule プロジェクトを開きます。

  2. コネクタを連動関係として pom.xml ファイルに追加します。

    <dependency>
      <groupId>com.mulesoft.connectors</groupId>
      <artifactId>mule-netsuite-openair-connector</artifactId>
      <version>2.0.0</version>
    </dependency>

Studio で設定する

  1. コネクタ操作をドラッグして Studio キャンバスにドロップします (Design Center と同じです)。

  2. コネクタのグローバル要素を設定します (Design Center の場合と同様)。

    Anypoint 設定
  3. 必要に応じて接続を設定します。

    anypoint 接続

    自動再接続機能を有効にする手順は次のとおりです。

    1. Studio から OpenAir グローバル要素の設定ウィンドウにアクセスします。

    2. [Advanced (詳細)] タブ ([Connection (接続)] の横) をクリックします。

    3. [Reconnection Strategy (再接続戦略)] で、[Standard (標準)] オプションを選択します。

    4. [Frequency (ms) (頻度 (ミリ秒))] 項目と [Reconnection Attempts (再接続試行回数)] 項目を適宜調整します。

ユースケース: OpenAir オブジェクトの追加

OpenAir ユースケースのフロー
  1. Studio で新しい Mule アプリケーションを作成し、新しいフローのソースとして HTTP リスナを選択します。

  2. HTTP リスナをドラッグしてキャンバスにドロップし、ポート 8081 でリスンするように設定します。

  3. OpenAir の Add 操作コネクタをドラッグして、フローにドロップし、上記のようにコネクタを設定します。

  4. メッセージの変換コンポーネントをドラッグして、HTTP コネクタと OpenAir コネクタの間にドロップします。

  5. メッセージの変換コンポーネント内で、下の DataWeave スクリプトを DataWeave エディタに挿入します。このスクリプトは、両方の oaCustomer オブジェクトを NetSuite OpenAir インスタンスに追加します。

    %dw 2.0
    output application/xml
    ns ns0 http://namespaces.soaplite.com/perl
    ---
    {
      ns0#ArrayOfoaBase: {
        oaBase: {
          oaCustomer: {
            name: "James Bond",
                  company: "MuleSoft"
          },
          oaCustomer: {
            name: "John Doe",
            company: "Pepsi"
          }
        }
      }
    }
  6. メッセージの変換コンポーネントをもう 1 つドラッグして、OpenAir コネクタの後にドロップし、下の DataWeave スクリプトをメッセージの変換コンポーネントの DataWeave エディタに挿入します。このスクリプトは、新しく追加された OpenAir オブジェクトの ID を返します。

    %dw 2.0
    output application/json
    ns ns0 http://namespaces.soaplite.com/perl
    ---
    {
      ID1: payload.ns0#ArrayOfUpdateResult.*updateResult[0].id,
      ID2: payload.ns0#ArrayOfUpdateResult.*updateResult[1].id
    }
  7. プロジェクトを保存し、Package Explorer でプロジェクト名を右クリックし、[Run As (別のユーザとして実行)] > [Mule Application (Mule アプリケーション)] をクリックして Mule アプリケーションとして実行します。

  8. 設定した HTTP エンドポイントにアクセスすると、ブラウザには次の JSON が表示されます。

    {
        "ID1": "411",
        "ID2": "412"
    }

ユースケース: XML

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:openair="http://www.mulesoft.org/schema/mule/openair"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/openair
http://www.mulesoft.org/schema/mule/openair/current/mule-openair.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
   <http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
      <http:listener-connection host="localhost" port="8081" />
   </http:listener-config>
   <openair:config name="Open_Air_Config" doc:name="Open Air Config">
      <openair:login-authentication-connection
      company="${config.company}"
      username="${config.username}"
      password="${config.company}"
      apiNamespace="${config.namespace}"
      apiKey="${config.key}"
      endpoint="${config.endpoint}"
      connectionTimeout="${config.conTimeout}"
      readTimeout="${config.readTimeout}" />
   </openair:config>
   <flow name="testopenairFlow">
      <http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/" />
      <ee:transform doc:name="Transform Message">
         <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0 output application/xml ns ns0 http://namespaces.soaplite.com/perl  --- { ns0#ArrayOfoaBase: { oaBase: { oaCustomer: { name: "James Bond", company: "MuleSoft" }, oaCustomer: { name: "John Doe", company: "Pepsi" } } } }]]></ee:set-payload>
         </ee:message>
      </ee:transform>
      <openair:add doc:name="Add" config-ref="Open_Air_Config" oaObject="jasdhjasdhik" />
      <ee:transform doc:name="Transform Message">
         <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0 output application/json ns ns0 http://namespaces.soaplite.com/perl --- { ID1: payload.ns0#ArrayOfUpdateResult.*updateResult[0].id, ID2: payload.ns0#ArrayOfUpdateResult.*updateResult[1].id }]]></ee:set-payload>
         </ee:message>
      </ee:transform>
   </flow>
</mule>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub