0

ESB プロジェクトに取り組んでおり、POST 要求を使用して REST サービスを呼び出す必要があります。HttpRouter は GET メソッドと POST メソッドの両方をサポートしているため、正しい方法のようですが、呼び出し内にパラメーターを挿入する方法が見つかりません。

どうやってやるの ?

4

2 に答える 2

0

答えが見つかりました...それはかなりばかげていました。必要なのは、Message オブジェクト内にパラメーターを挿入することだけで、それらはリクエストの本文になります。JBoss によって作成され、 HttpRouter の単体テストから見つかったサンプル コードを次に示します。

    final ConfigTree tree = new ConfigTree("WrappedMessage");
    tree.setAttribute("endpointUrl", "http://127.0.0.1:8080/esb-echo");
    tree.setAttribute("method", "post");
    tree.setAttribute("unwrap", "false");
    tree.setAttribute("MappedHeaderList", "SOAPAction, Content-Type, Accept, If-Modified-Since");

    HttpRouter router = new HttpRouter(tree);
    Message message = MessageFactory.getInstance().getMessage(type);
    message.getBody().add("bar");

    Message response = router.process(message);
    String responseBody = (String)response.getBody().get();
    String responseStr = null;
    if (deserialize)
        responseStr = Encoding.decodeToObject(responseBody).toString();
    else
        responseStr = responseBody;

    return responseStr;
于 2012-04-13T15:29:03.910 に答える
0

Apache HTTP ライブラリを試すことができます。非常に使いやすく、HTTP リクエストを操作するために必要なクラスの包括的なセットを備えています。

于 2012-04-11T09:16:35.973 に答える