2017-02-24 7 views
2

Stack Overflowに関する他の同様の質問がありますが、かなり古い/時代遅れですので、GoでSOAPリクエストを行うための新しいパッケージやメソッドがあるかどうか疑問です。ありがとう!GoでSOAPリクエストを作成

答えて

2

だと思います。石鹸—に正式に標準ではなく、広く「SOAP 1.0」と呼ばれている、いわゆる「SOAP(注)」、および標準である別のものを、記述した二つの文書があり、そもそも

一般にSOAP 1.1と呼ばれています。彼らは表面的に同じであるにもかかわらず互換性がありません。一方

、クライアントが送信し、どのようなサーバは—で応答する 、実際には、単純なSOAPラッパーを作り上げ、シンプルで 何のXMLエンコーディングとしてSOAP自体—(クライアント呼び出しを行う)と unwrapper (サーバーの応答をカプセル化解除するため)は簡単です。

私はこれを強調したいと思います:誰も はそれがだと思っ:SOAPが明示的輸送に依存しない(それが故にレストパラダイムがする同じ問題に苦しんでいる になるように定義された通り、両方のSOAP規格が実際に HTTPに対処していませんHTTPについて)、そしてGoの標準ライブラリには、HTTPのための優れた サポートがあるため、SOAPエンコーディング/デコードレイヤーはむしろ薄いと思われます( )。これらを考慮して

、私は、個人的に、でも私は自分自身を 呼び出しにSOAPを超える何かを必要とし、必要なコードを書いた例それぞれにおけるSOAPのためのサードパーティ製のパッケージに依存 を開始するために気にしませんでした。 SOAPコールを行うのに最後に が必要だったことを確認しましたが、SOAPエンコーダ/デコーダはGoコード(テストを除く)の171行 になりました。

だから私は自分のロールを言う。

注それはあなたのサーバーに送信されるXMLの特殊なフォーマットを必要とWS-Securityの拡張 を恐ろしい例えば—を使用するゆがん 何か、 はそれ以上の暗号化ハッシュを計算することを必要としない場合にのみ、すべてのことが簡単だということ、しかし、それらにデジタルで署名する とそのようなものすべて。まだGoでこれを処理するものはない。

同じことがWSDL仕様またはXSDスキーマに適用されます。 IIUCでは、 タイプの階層とSOAPエンドポイント・クライアント・スタブ(WSDL 文書またはXSDスキーマを指定)を生成するのに十分な品質のツールはありません。

関連する問題