3

wsdlのsoap: addressタグとhttp:addressタグの違いを理解するのに問題があります。互換性がありますか?http: addressの代わりにsoap:addressを使用できますか?

4

1 に答える 1

4

短い答え

いいえ、できません。それらは互換性がありません。それらは異なるWSDLバインディングに属しています。

長い答え

WSDL形式は特定のプロトコルにバインドされていません。それどころか、SOAP、HTTP、MIMEなどのさまざまなプロトコルと組み合わせて使用​​するように拡張できます。この種の拡張機能はバインディングと呼ばれます。バインディングは、Webサービスとの通信に使用されるプロトコルとメッセージ形式を定義します。各バインディングには、タグの前に名前空間と関連する名前空間プレフィックスがあります。名前空間のプレフィックスとタグはコロンで区切られます。したがって、soap:addressタグのsoap名前空間プレフィックスは、それがSOAPバインディングに属していることとhttp:addressのhttp名前空間プレフィックスに属していることを示します。タグは、HTTPバインディングに属していることを示します。WSDL仕様によれば、バインディングは正確に1つのプロトコルを指定する必要があるため、これらをバインディングに混在させることはできません。ただし、1つのportTypeに対して異なるバインディングを持つことができます。

リンク

  1. WSDL1.1仕様
  2. WSDL 1.2仕様:バインディング
于 2012-05-14T19:07:31.603 に答える