6

Web サービスに関する一般的な質問があります。この件に関する私の混乱を解消するのに役立つことを願っています。

ホストが「XML over HTTP サービス」を呼び出している Web サービスを使用しています。彼らは、このサービスは SOAP サービスではないと主張していますが、応答は SOAP エンベロープ応答です。サービスは現在、HTML フォーム ポストを介して呼び出されます。HTML フォームと応答は次のとおりです。

HTML :

<FORM name=TestForm action=http://intranet/TheWSMethod enctype="text/plain" method="POST">
    <TEXTAREA name=Data rows=22 cols=91 type="text" style="position: absolute; left: 78; top: 69; width:752px; height:330px"></TEXTAREA>
    <INPUT type=xml> 
    <INPUT type=submit value="Transmit">
</FORM>

応答- SOAP ベース?

<?xml version="1.0" encoding="UTF-8" ?> 
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <faultcode>soap-env:Server</faultcode> 
    <faultstring>9001</faultstring> 
    <faultactor>/TheWSMethod</faultactor> 
    <detail> ... </detail> 
</soapenv:Fault>

ホストから、このプロセスにはWSDL がないことがわかりました。ここから混乱が始まります。

私の質問は、既存の WSDL があるかどうか、または存在する必要があるかどうかです。(つまり、彼らは私の足を引っ張っているのですか、それとも私が求めていることを理解していないのですか)、またはこのタイプのサービスに WSDL がない可能性はありますか?

4

2 に答える 2

15

SOAP は XML over HTTP の単なる特殊化であり、投稿した応答は実際に SOAP 応答のように見えます (実際にはSOAP 障害)。

これは大きな誤解のように見えるので、彼らがあなたの足を引っ張っていると思い込まないでください. 別の方法で質問してみてください。

WSDL については、これが実際に 100% SOAP Web サービスである場合、SOAP Web サービスの WSDL は必須ではないことに注意してください。

Web サービスは、一連の操作をネットワーク経由で公開する単なるアプリケーションです。これらの操作を呼び出すには、クライアント スタブの作成方法を理解できるように、その名前、想定されるパラメーター、パラメーターの型などを知る必要があります。

これは、Web サービスを文書化する必要があることを意味します。そうしないと、Web サービスとやり取りするコードの書き方がわかりません。このドキュメントは Word ドキュメントまたは PDF であり、それからクライアントを手動で構築することができます (これには、クライアント スタブの多くの配管コードを記述する必要があります) 。または、ドキュメントは、PDF または Word ドキュメントとは異なるWSDLファイルである可能性があります。スタブ配管コードを自動的に生成するツールにフィードできます。

WSDL は Web サービスを記述します (提供することをお勧めします) が、Web サービスは WSDL とは別に存在します。

于 2012-05-13T17:22:12.073 に答える
1

WSDL は、主に Web サービスへのロケーターです。必要に応じて、何らかのツールを使用してクライアント クラスを生成し、Web サービスにアクセスできます。

于 2014-08-25T12:19:48.993 に答える