National Weather Service SOAP サーバーに要求を送信するようにクライアントをセットアップしました。期待どおりの応答を受け取りましたが、必要なデータを抽出する最善の方法がわかりません。
たとえば、XML (SOAPBody 内) には多くの余分なデータがありますが、POJO に設定したパラメーター (温度など) のデータのみを取得したいと考えています。
このデータを抽出する最良の方法は何ですか?
National Weather Service SOAP サーバーに要求を送信するようにクライアントをセットアップしました。期待どおりの応答を受け取りましたが、必要なデータを抽出する最善の方法がわかりません。
たとえば、XML (SOAPBody 内) には多くの余分なデータがありますが、POJO に設定したパラメーター (温度など) のデータのみを取得したいと考えています。
このデータを抽出する最良の方法は何ですか?
あなたが説明したように、SOAP Webサービスを手で消費しようと始めました-より良い方法があります。
あなたのためにすべての作業を行うライブラリがそこにあります - 手で何かを解析する必要はありません。
JAX-WS をチェックしてください。最近のほとんどの IDE (確かに NetbeansとEclipse ) も、WSDL を指定して Web サービス クライアントを構築するためのポイント アンド クリック サポートを提供します。
このルートの最大の潜在的な問題は、WSDL がない場合、または WSDL が間違っている場合です。その場合、リンクしたツールがうまくいかない可能性があります。
次に最も安全なのは、JAXP の SAX や DOM などの XML パーサー (JRE にある) を使用して応答を解析し、関連するデータ構造をたどることです。
最後に、分割または正規表現を使用して文字列ハッキング ルートに進むこともできますが、そのパスには潜在的な問題がたくさんあります。XML 仕様には、ネストされたタグよりも多くのものがあります。
手作業でSOAPをデコードしようとしないことを強くお勧めします:)
@Brabsterが言ったことを拡張するために、Netbeansは、特にJAX-WSライブラリを使用して、広範なWebサービスをサポートしています。
http://www.netbeans.org/kb/60/websvc/jax-ws.html#Exercise_3_1