---
schema_version: "1"
id: 58bf1eac53ac491c77f8b222adda57d60b549ee5d0ae3da65caeae812bdf5673
title: サードパーティライブラリの使用
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/pdk/1.4/policies-pdk-configure-features-libraries.md
canonical_url: https://docs.mulesoft.com/jp/pdk/1.4/policies-pdk-configure-features-libraries
source_site: docs.mulesoft.com
content_type: documentation
content_hash: a0d691b91433cb9c1dd0780ee099929abe7fa9529dcc445300cd0f1c63574d5e
description: MuleSoft Documentation Site
release: "1.4"
latest: false
---
# サードパーティライブラリの使用

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">サードパーティライブラリを使用するポリシープロジェクトの例は、 <a href="https://github.com/mulesoft/pdk-custom-policy-examples/blob/1.4.0/crypto/README.md" target="_blank" rel="noopener">「Crypto Policy Example (暗号化ポリシーの例)」</a>​を参照してください。</td></tr></tbody></table>

Proxy Wasm は、低レベルのバイナリアプリケーションインターフェース (abi) を定義し、ライブラリが実行できるシステムコールを制限します。ポリシーに含まれるすべてのサードパーティライブラリは、​`wasm32-wasip1`​ Rust コンパイルターゲットと互換性がある必要があります。

`serde_urlencoded`​ などのライブラリを定義するには、​`cargo.toml`​ の連動関係リストに追加します。

```toml
[dependencies]
...
serde_urlencoded = "0.7.0"
```

ライブラリを定義すると、​`lib.rs`​ にある以下のような関数を使用できるようになります。

```Rust
serde_urlencoded::to_string([("token", "myToken")])
```

データベースのような外部サービスとやりとりするライブラリや、ファイルの読み取りのようなシステムコールを実行するライブラリは、通常は ​`wasm32-wasip1`​ ターゲットとの互換性がありません。

ポリシーが外部サービスとやりとりする場合は、Flex Gateway で提供されている ​`HttpClient`​ を使用してください。HTTP コールの実行に関する詳細は、[policy-pdk-configure-features-http-request.adoc](#policy-pdk-configure-features-http-request.adoc)を参照してください。

一部のライブラリは ​`wasm32-wasip1`​ ターゲットに適切にコンパイルできても、Flex Gateway にデプロイすると適切に動作しないことがあります。次のようなエラーがあります。

- `Failed to load Wasm module due to a missing import: …​ (インポートが欠落しているため Wasm モジュールの読み込みに失敗しました: …​)`
- `Wasm VM failed to initialize Wasm code (Wasm VM が Wasm コードの初期化に失敗しました)`
- `Plugin configured to fail closed failed to load (フェールクローズに設定されたプラグインの読み込みに失敗しました)`

これらのエラーが発生した場合には、サードパーティライブラリのオーナーに問い合わせるか、別のライブラリを使用してください。

## [](#関連情報)関連情報

- [Rust でのカスタムポリシー機能の実装](https://docs.mulesoft.com/jp/pdk/1.4/policies-pdk-configure-features)