gpt4 book ai didi

java - 如何避免 "505: HTTP Version not supported"错误?

转载 作者:搜寻专家 更新时间:2023-11-01 03:14:11 25 4
gpt4 key购买 nike

我正在尝试使用 Bing SOAP API 进行简单的搜索请求。但是现在我终于弄清楚了如何使用 JAX-WS 发送请求,我又被卡住了。我收到回复com.sun.xml.internal.ws.client.ClientTransportException:服务器发送 HTTP 状态代码 505:不支持 HTTP 版本 当我发送请求时。谁能帮帮我?

我正在使用 JAX-WS 2.0 的动态调用,如果这有什么不同的话。

Dispatch<SOAPMessage> dispatch = service.createDispatch(
portName, SOAPMessage.class, Service.Mode.MESSAGE);
MessageFactory messageFactory = ((SOAPBinding) dispatch.getBinding())
.getMessageFactory();
SOAPMessage request = messageFactory.createMessage();
// Add content to the request
SOAPMessage response = dispatch.invoke(request);

Wireshark 告诉我,请求 header 包含 POST/soap.asmx HTTP/1.1 并且回复也带有 HTTP/1.1 版本控制。这不是说没关系吗?

谢谢你,moxn

更新:这不是特定于 JAX-WS 的错误。我通过 Commons HTTPClient 实现了通信,但仍然得到相同的 505。

遵循 HTTPClient 请求的 header :

Content-Length: 435
Content-Type: text/xml
Host: api.bing.net:80
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.0.1 (java 1.5)
Expect: 100-Continue

更新:它也不适用于 HTTP/1.0 btw...

最佳答案

您是否尝试过将以下内容添加到 app.config 或 web.config?

<configuration>
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
</configuration>

显然,在请求 header 中发送 Expect: 100-continue 会导致抛出“505: HTTP Version not supported”错误。

Expect 100-continue

关于java - 如何避免 "505: HTTP Version not supported"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com