当前位置: 首页 > 知识库问答 >
问题:

Http入站网关失败非法字符集

方砚
2023-03-14

我试图在使用Http入站网关创建的服务上编写一个集成测试,它给我的错误是“java.nio.charset.unsupportedcharsetexception:cesu-8”。知道为什么吗?此服务正常工作。我们有一个一天多次使用它的套餐应用程序。我想有一个集成测试,可以调用它以及。下面是我的测试:

@Test
public void receiveMessage() throws IOException {
    final String xml = testUtil.getTestDocumentAsString("/serviceTestData/document.xml");

    final RestTemplate template = new RestTemplate();
    template.getMessageConverters()
            .add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
    final HttpHeaders headers = new HttpHeaders();
    MediaType mediaType = new MediaType("text", "xml", StandardCharsets.UTF_8);
    headers.setContentType(mediaType);

    final String credentials = this.user + ":" + this.pass;
    final byte[] message = credentials.getBytes("UTF-8");
    headers.add("Authorization", "Basic " + DatatypeConverter.printBase64Binary(message));
    final HttpEntity request = new HttpEntity(xml, headers);
    final ResponseEntity<Ack> result = template.postForEntity(url, request, Ack.class);

    System.out.println(result.getBody().getStatus());
}

共有1个答案

司空福
2023-03-14

我不熟悉Java或Spring,但是:

错误:ServletException的根本原因。unsupportedCharsetException:cesu-8

在java.nio.charset.charset.forName(charset.java:536)

您的请求似乎是由RestTemplate类生成的。检查它对标头做了什么。特别是搜索accept-charset(或acceptcharset)和CESU-8

 类似资料:
  • 我尝试使用以下代码,得到了回应:状态:405方法不允许。这是我的Http请求:http://localhost:8090/services/test?name=test.代码或http请求有什么问题?

  • 我不熟悉Spring集成。我正在尝试使用http入站网关构建一个简单的应用程序。下面是我得到的运行时异常。 下面是代码文件。 波约 服务 } 服务激活器 } 存储库 请帮助我,我正在试图找到异常发生的原因,但无法解决。提前谢谢。 集成文件。

  • 问题内容: 我最近将服务器从Rackspace CloudSites(在Apache / Linux上运行)移至Windows Azure网站。自迁移以来,由于CORS,我们REST API上的所有jQuery AJAX请求都开始失败。 我们使用自定义标头,因此jQuery在运行实际的API调用之前发出飞行前HTTP OPTIONS请求。问题是OPTIONS请求似乎没有到达我的PHP代码,而是由其

  • 我试图实现某种代理作为我的数据流的一部分,我想在我的入站网关上接收超文本传输协议请求,并通过出站网关传递它。我想保留所有查询字符串参数。我的网关配置是: 我预计它的工作如下: > GET/services/normalization q=cat 入站网关接收请求,并将其通过搜索请求通道发送到出站网关。 出站网关向外部服务发送整个请求: 获取/查询q=cat 但实际上,出站网关发送不包含任何查询参数

  • 问题内容: 目前,我正在研究可用于读取url指定的网站内容的类。我刚开始我的冒险经历和,所以我需要咨询我的设计。 用法: 我的代码: 我的问题是:这是实现我想要的一个好方法吗?有更好的解决方案吗? 我特别不喜欢,但我无法用其他方式表达它。每次迭代都创建一个新的String很好吗?我想没有 还有其他弱点吗? 提前致谢! 问题答案: 考虑改为使用。此外,你可能想利用从Apache的百科全书IO使串阅读

  • 我正在尝试将spring集成配置为向队列发送消息,然后接收消息,即非常简单的事情: 我认为解耦所必需的是在流程的两端都有一个消息网关。因此,我的第一次尝试(有效)如下所示: 其中MessageReceiverHandler()是扩展AbstractMessageHandler的bean。 所以上面我们有一个用于出站消息的消息网关。我假设我们也应该有一个用于入站消息的网关,允许我们将传入消息处理与应