Java org.apache.http.HttpRequest如何添加正文

Java org.apache.http.HttpRequest如何添加正文,java,apache,soap,httprequest,Java,Apache,Soap,Httprequest,我想向soap web服务发出post请求 我这样做: private static HttpClient client = HttpClientBuilder.create().build(); private static HttpHost host = new HttpHost("localhost", 8080); HttpRequest requset = new BasicHttpRequest("POST", "/iOSS bla bla b

我想向soap web服务发出post请求

我这样做:

private static HttpClient client = HttpClientBuilder.create().build();
    private static HttpHost host = new HttpHost("localhost", 8080);
HttpRequest requset = new BasicHttpRequest("POST",
                "/iOSS bla bla bla");
        requset.addHeader("Authorization", "Basic c21hcnQ2ODYzOnNtYXJ0Njg2Mw==");
        requset.addHeader("Content-Type",
                "multipart/related; type=\"text/xml\"; boundary=\"--=Part1=-- \"");
        requset.addHeader("SOAPAction", "");
我不知道如何添加请求的正文。我没有找到解决这个问题的方法

请注意,我正在使用
HttpRequest
来形成Http请求,而不是使用
HttpPost
来形成post请求

您能帮忙吗?

界面没有提供设置相应消息正文的方法。也不是

您需要更深入地了解继承层次结构和使用,它公开了一个方法及其默认实现

HttpEntity
或多或少地表示http消息体。美国

可以通过HTTP消息发送或接收的实体

有许多受支持的实现,例如
StringEntity
ByteArrayEntity
FileEntity
,等等。如果这些实现不够好,您可以自己编写


或者,我建议您使用表示每个方法的各种
HttpXyz
类,例如。这些类型已经在适当的时候提供了
setEntity(HttpEntity)
方法(
HttpPost
有一个,但是
HttpGet
没有,因为GET请求不需要主体)


提供了
execute(…)
方法重载,该方法可以接受
HttpRequest
对象,其中URI应该是绝对的,其他方法还可以提供
HttpHost
来解析路径

请参见。@SotiriosDelimanolis它使用的是
HttpPost
而不是
HttpRequest
否,请查看答案。它建议使用
HttpEntityEnclosingRequest
而不是
HttpRequest
,否则它不会为主体提供设置器。但是,实际上,您应该使用
HttpPost
(或任何相关类型)。@SotiriosDelimanolis好的,我将首先尝试使用
HttpPost
,如果没有成功,我将尝试使用
HttpEntityEnclosingRequest
,然后返回美国。你知道关于HttpPost的任何例子吗?