---
schema_version: "1"
id: fbe58983295d0c293f66c09a9a07949dff28e2162ef48e0716744dbd957b0113
title: サードパーティライブラリの使用
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/pdk/1.2/policies-pdk-configure-features-libraries.md
canonical_url: https://docs.mulesoft.com/jp/pdk/1.2/policies-pdk-configure-features-libraries
source_site: docs.mulesoft.com
content_type: documentation
content_hash: c0cf2f2e9d33425f8c48ef212e16d289073b2f75567c706b2110226188e5f9e7
description: MuleSoft Documentation Site
release: "1.2"
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.2.0/crypto/README.md" target="_blank" rel="noopener">「Crypto Policy Example (暗号化ポリシーの例)」</a>​を参照してください。</td></tr></tbody></table>

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

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

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

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

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

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

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

一部のライブラリは ​`wasm32-wasi`​ ターゲットに適切にコンパイルできても、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.2/policies-pdk-configure-features)