Java org.apache.http.HttpRequest如何添加正文
我想向soap web服务发出post请求 我这样做: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
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的任何例子吗?