2017-10-13 3 views
0

このインタラクションは、技術的なインタビューで統合インターンの役割について質問されました。クライアントの観点からのSOAPサービスURLへのアクセス

彼はSOAP Webサービスの理解を深めていました。

質問)。 SOAPを介してWebサービスをクライアントに公開することを検討してください。 サービスを提供しているURLは、チェックすると起動しています。 クライアントに問題があり、Webサービスにアクセスできません。 この問題のトラブルシューティングにはどうしたらいいですか?

私の応答:

私は、最初のクライアントがサービスにアクセスしようとしているURLが正しいかどうかをチェックします。 .wsdlファイル:ポートを確認します。バインディング&は、SOAPリクエストをURLに送信するかどうかを1回確認しますが、SOAP UI経由でローカルでSOAP応答を受信して​​いますか。 エラーが発生した場合、次のエラーの種類に基づいてトラブルシューティングを行います。類似ページが見つからない、ヌル例外など

私は彼がまだ他の点を期待していると感じました。彼はホストされているすべてのWebサービスをどのレジストリでチェックするかを示唆していました(これは多くのプロダクションサポートの問題でした)。

UDDIレジストリを調べるかもしれませんが、この。

私はあなたの入力が正しいアプローチかもしれないことについて教えてください。

答えて

1

Apache jUDDI PMCはこちらです。はいUDDIは、クライアントがUDDIサーバーとUDDIサーバーが登録されている場所を知っており、クライアントがUDDIサーバー上で何を照会するかを知っており、UDDI照会がその一部であると仮定すると、クライアントが正しい場所を指していることを検証するために使用できますクライアントの通常のワークフロー。これは多くの前提ですが、確かに実現可能です。

ほとんどの場合、エンドポイントは設定ファイルのどこかに置かれているか、何人かの馬鹿がそれをハードコードしています。に

  • URLのホスト名のDNS解決
  • のPingリモートホスト
  • HTTP GET(クライアントの観点から)この私の行くが、SOAPサービスの接続性をチェックするために一覧表示するには、言わ

    SOAPサービスのURL +?wsdl(これは通常動作します)。これはまた、SSL接続を検証するのに適しています。

  • WSDLドキュメントを解析することもできます。エンドポイントURLを特定するために返されるものと仮定します。
  • 最後にすべて動作する場合は、サービスを実行します。 別の代替的なアプローチは、質問「私が開いていますが答えるシンプルなリターン真/偽のすべてのSOAPサービスに非常に単純なAPI(WSDLメソッド)を実装することです:HTTP 200は、正の符号

編集一般的ですビジネス?"。このメソッドは、外部依存関係(データベースなど)をテストすることによって、サービスが利用可能かどうかを識別するための標準化されたアプローチを提供します。

+0

興味深い入力に感謝します。しかし、私はあなたが共有するこれらの点についての説明が必要です。'エンドポイントはどこかの設定ファイルに入っていますか、何人かの馬鹿はそれをハードコードしています':どの設定ファイルについて話しているのですか? & 'SOAPサービスのURLを取得する+ wsdl(これは通常動作します)。これはSSL接続を検証するのにも良いタイミングです。つまり、get()コールでURL内のwsdlファイルを開こうとしています。だから私たちはこれで何を結論づけることができますか? –

+0

リモートのWebサービスとやりとりするソフトウェアを開発する場合は、そのサービスの場所をどこかに保存する必要があります。言語にもよりますが、.configファイル(.net)、.propertiesファイル(java)、または他の何ものでもありません。それ以外の場合はハードコードされています。 URLが変わるとどうなりますか? – spy

+0

「SOAPサービスのURLへのHTTPの取得+?wsdl」ほとんどのWebサービスフレームワークでは、リフレクションからオンザフライでwsdlのドキュメントを作成しますか?wsdlが応答すると、そのサービスに到達できる可能性が高くなります。データベースなど、サービスに必要なリソースがオンラインかどうかを教えてください – spy

関連する問題