1

クライアント SOAP 要求は、単に HTTP POST を使用して、正しくフォーマットされた HTTP ヘッダーを送信し、続いて正しくフォーマットされた XML SOAP コンテンツを TCP/IP ソケット接続を介して Web サービス サーバーに送信し、応答を待機して解析するだけですか?

これは「単純」なのですか、それとも舞台裏でもっと進んでいるのですか?

複数の WSDL ファイルに対して C++ で gSOAP を使用するのが難しいため、クライアントをゼロから作成することを検討しています。

4

1 に答える 1

2

SOAP は、TCP、HTTP、SMTP などの任意のトランスポート プロトコルで使用できますが、HTTP が最も一般的です。

SOAP over HTTP は基本的に、SOAP エンベロープを内部に持つ有効な POST HTTP リクエストに変換されます。ブラウザーからの従来の POST について話す場合、フォーム パラメーターはそこにあります。応答本文には SOAP エンベロープも含まれており、ブラウザーからの要求への応答として HTML が期待される場所にあります。

text/xml使用している SOAP バージョン ( SOAP 1.1 およびapplication/soap+xmlSOAP 1.2)に適切なコンテンツ タイプを使用し、必要に応じてSOAPActionヘッダーを指定する必要があります (SOAP 1.1 の場合) が、HTTP 通信に関してはそれだけです。

次に、エンベロープの受信者 (要求のサーバーまたは応答のクライアント) は SOAP メッセージを使用する必要がありますが、これは HTTP とは関係なく、HTTP がメッセージを取得しただけです。

于 2012-04-29T14:40:20.960 に答える