Playフレームワーク、特にバージョン1.xx内でSOAPWebサービスを利用する方法があるかどうかを知りたいだけです。
ありがとう
Playフレームワーク、特にバージョン1.xx内でSOAPWebサービスを利用する方法があるかどうかを知りたいだけです。
ありがとう
他の答えはもちろん有効ですが、Playにはこの種のもののためのいくつかの便利なクラスが付属しています。ただし、応答を手動で解析する必要があります。クラスから始めWS
ます。あらゆる種類のサービスで投稿/取得などに使用できます。たとえば、SOAPリクエストやREST呼び出しに使用します。
例:
HttpResponse httpResponse = null;
String username = "";
String password = "";
String url = "";
String postBody = "";
try {
httpResponse = WS.url(url)
.authenticate(username, password)
.setHeader("Content-Type", "text/xml; charset=UTF-8")
.setHeader("SOAPAction", "")
.body(postBody).post();
Document document = httpResponse.getXml();
String value = XPath.selectText("//value", document);
Node node = XPath.selectNode("//node", document);
// Do things with the nodes, value and so on
} catch (Exception e) {
Logger.error("Do something with the connection error: %s", e);
}
ご覧のとおり、このXPath
クラスを使用して、返されたを解析しDocument
ます。ドキュメントをトラバースするためのあらゆる種類の便利な方法を提供します。
PlayをSOAPコンシューマーとして使用するのは簡単です。選択したsoapライブラリを含め、wsdlからスタブを生成し、エンドポイントを呼び出します。もう1つのオプションは、URLを呼び出し、Xpathを使用してそのエンベロープを解析することです。