gpt4 book ai didi

java - 分块输入流无法接收有效的 block 大小 :
转载 作者:行者123 更新时间:2023-11-30 11:38:57 25 4
gpt4 key购买 nike

我正在使用 Axis 1.4 版本并使用 org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask 生成客户端代码。但是,当我尝试调用电话时出现以下错误,在此先感谢

  java.io.IOException: Chunked input stream failed to receive valid chunk size:<?xmlversion="1.0"
at org.apache.axis.transport.http.ChunkedInputStream.getChunked(ChunkedInputStream.java:155)
at org.apache.axis.transport.http.ChunkedInputStream.read(ChunkedInputStream.java:87)
at java.io.FilterInputStream.read(Unknown Source)
at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:453)
at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:559)
at org.apache.axis.Message.getSOAPPartAsString(Message.java:412)
at org.apache.axis.handlers.LogHandler.logMessages(LogHandler.java:89)
at org.apache.axis.handlers.LogHandler.invoke(LogHandler.java:68)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:190)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)

build.xml 中的目标是,

<target name="generate-java">   
<wsdl2java
url="${resources.dir}/2.0/popsp.wsdl"
debug="true"
printstacktraceonfailure="true"
output="src">
<mapping namespace="https://www.dhl.au/popweb/gw/ws/schema/2.0/popws"
package="com.soap.autogen"/>
</wsdl2java>
</target>

最佳答案

为了解决后来看到这个问题的用户,我已经找到了这个异常的根本原因。 Axis 1.4 使用 HTTP 1.0 发送“NoN Chunked Streams”中的数据。如果这些消息到达服务器 HTTP 1.1,其中预期数据位于“分块流”中,则可能会出现此错误。有关此编码的更多信息可以在 chunked transfer encoding 中找到。 .

我已经解决了(无需升级 Axis),方法是添加一个名为 deploy-client.wssd 的文件,该文件由以下几行组成。

<deployment
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
</deployment>

这将告诉 Axis 使用默认使用 HTTP 1.1 的 commonsHTTPSender。希望它对某人有帮助。

关于java - 分块输入流无法接收有效的 block 大小 :<? xmlversion ="1.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474568/

25 4 0

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