SOAP クライアントで SOAP API ポリシー/拡張要件を提供する方法
P粉511896716
P粉511896716 2023-08-29 20:09:01
0
1
482

ソープ API に接続する必要があります...これまで何度かソープ API を使用しましたが、API の 99% が現在停止しているため、ここ数年は使用していません

;

SOAP クライアントを使用して API を呼び出すと、

が返されます。
SOAP-ERROR: WSDL を解析中: 不明な必要な WSDL 拡張子 'http://schemas.xmlsoap.org/ws/2004/09/policy' 

ブラウザで wsdl アドレスを開くと (ログイン/パスワードで保護されています)、XML 出力に次の行が表示されます

   

どこにあるか

  

このエラーを検索すると、インターネット全体でポリシー要件をオフにするという答えが得られるリソースが 1 つだけ見つかります。それは、 しかし、私は API を所有していないので、ポリシー名 OP_SI_USBPC_REQUEST を検索しても問題はなく、結果が得られないので、これは API 所有者によって設定されていると思います。 いくつかのカスタム名

そこで私の質問は、ポリシーを作成して SOAP クライアントのリクエストに添付する必要があるかということです。 拡張機能が見つからないというエラーが発生しますが、ポリシー要件をオフにするとエラーは解消されます。ポリシーと拡張機能の関係は何ですか

拡張機能をダウンロードできる場所はありますか?形式は何ですか...SOAP クライアント リクエストに追加する必要がありますか?

それともサーバーにインストールする必要があるのでしょうか?何らかの方法で拡張機能を追加した場合、API 呼び出しにユーザー名/パスワードを追加したためエラーは解消されますか、それともこれは最初のステップにすぎず、その後ポリシー要件を処理する必要があるのでしょうか?

ちなみに、API の呼び出しには php を使用しています。これが私のコードです

$options = [ 'ログイン' => 'mログイン'、 'パスワード' => '私のパスワード', ]; $client = new \SoapClient("http://domain:port/dir/wsdl/?p=sa/92130e1ffa97338ba2d1fc026567031d" , $options );

XML をダウンロードしてローカル ファイルの要件をオフにし、そのファイル アドレスを SOAP クライアントで使用した場合、そのファイルを使用して API と通信できますか? (私の理解では、XML には実際のデータは含まれておらず、単なる SOAP クライアントのインターフェイス/定義であり、オンライン API と通信するためにローカル ファイルを使用することはできません。それとも私が間違っているのでしょうか?) < ;/p>

P粉511896716
P粉511896716

全員に返信 (1)
P粉916553895

「不明な必要な WSDL 拡張子」というメッセージは、SoapClient が外部で要素を見つけたことを意味します WSDL 名前空間のwsdl:requiredプロパティはtrueに設定されます。 (ここをご覧ください)。

したがって、このエラーを回避するには、wsdl:requiredプロパティをfalseに設定することが 1 つの方法です。

WSDL ファイルをダウンロードして変更し、ローカル コピーを使用することは完全に可能です。必ず使用してくださいここに示されている絶対パス。

ちなみに、ここでの「ポリシー」とは、WS-Policy仕様のことを指します。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!