2012-04-11 54 views

回答

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; 
0

您可以试试Apache HTTP library。它非常易于使用,并具有操作HTTP请求所需的全面的类。

+0

谢谢您的回答,但实际上的JBoss HttpRouter要依赖于Apache HTTP库。我知道如何用PostMethod对象来做到这一点。我正在寻找的是如何使用HttpRouter传递参数。 – Anth0 2012-04-13 15:24:03