java - 不支持的内容类型 : text/plain; charset=ISO-8859-1

标签 java web-services soap soapui

我有一个网络服务,它必须返回播放器详细信息作为响应。问题是,当我在 SoapUI 中发送相同的请求时,我得到了有效的响应,但是当我通过 Java 执行此操作时,我在

<faultstring> Unsupported content type: text/plain; charset=ISO-8859-1 </faultstring> .

知道为什么会出现这个问题吗?

这是我发送的请求:

> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:gen=" ">   
> <soapenv:Header/>   
> <soapenv:Body>
>       <gen:GetPlayerDetails>
>          <request>
>             <systemUID>C_GS01</systemUID>
>             <sessionID>TVM0MgAAB9IAAAFEjXyfxbvZ2oU_</sessionID>
>          </request>
>       </gen:GetPlayerDetails>    
> </soapenv:Body>
> </soapenv:Envelope>

已解决感谢@helderdarocha 在我的 HTTP 客户端类中做了一些更改(最后一行):

        HttpClient httpclient = HttpClientBuilder.create().build();
        StringEntity strEntity = new StringEntity(request);
        HttpPost post = new HttpPost("http://10.47.44.163:8080" + endPointURI);
        post.addHeader("Content-type", "text/xml");

最佳答案

您发送的请求可能没有适当的 header 。您必须使用 Accept header 声明您的客户端作为响应接受的数据类型:

Accept: application/xml; application/json;

此外,如果您要发送数据,则必须声明您要发送的内容的内容类型,并且它应该与您的服务接受的数据兼容。

Content-type: application/xml

例如,如果您以 XML 格式发送负载。

关于java - 不支持的内容类型 : text/plain; charset=ISO-8859-1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22176769/

相关文章:

java - 创建字符串或整数条件

web-services - 使用Webservices查找两个邮政编码之间的距离?

iphone - iPhone 上端口 80 上的 Web 服务器

java - WSO2 BPS/SOAP - 如何使用 HumanTaskClientAPI 获取人工任务的结果?

c# - System.Web.Services.Protocols.SoapHeaderAttribute.Required 已过时 我现在应该使用什么?

java - 将一个 ImageView 放置在另一个 ImageView 的特定坐标处

java - 需要有关 java map 和 javabean 的帮助

java - 打开 jar 文件 rt.jar jdeveloper Oracle Middleware 时出错

c# - 如果方法名称以 "Response"结尾,WCF 会中断吗?

java - Spring 启动 : Use specific alias form keystore to consume HTTPS SOAP webservice