1

Playフレームワーク、特にバージョン1.xx内でSOAPWebサービスを利用する方法があるかどうかを知りたいだけです。

ありがとう

4

2 に答える 2

2

他の答えはもちろん有効ですが、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ます。ドキュメントをトラバースするためのあらゆる種類の便利な方法を提供します。

于 2013-03-27T10:51:03.440 に答える
1

PlayをSOAPコンシューマーとして使用するのは簡単です。選択したsoapライブラリを含め、wsdlからスタブを生成し、エンドポイントを呼び出します。もう1つのオプションは、URLを呼び出し、Xpathを使用してそのエンベロープを解析することです。

于 2013-03-27T07:44:11.250 に答える