0

我正在使用axis2 编写一个SOAP 服务客户端。我用 wsdl2java 生成了客户端代码,然后我尝试

Request req = new Request();
req.setParameter("XXX");

ServiceStub stub = new ServiceStub();                                     
stub.remoteService(req);            

在运行时,我得到一个AxisFaultContent length must be specified

知道出了什么问题或如何指定内容长度吗?

4

2 回答 2

3

好的,我终于明白了。据此,是一个众所周知的轴问题。

使用axis2,我将以下内容添加到我的服务存根中

_operationClient.getOptions().setProperty(HTTPConstants.CHUNKED, false);

效果很好!

于 2012-10-11T13:07:38.487 回答
1

如果您默认禁用分块,我相信 Axis2 将在 HTTP 标头中包含内容长度值

根据XML RPC 规范

标头要求

未指定标头第一行中 URI 的格式。例如,如果服务器只处理 XML-RPC 调用,它可以是空的,一个单斜杠。但是,如果服务器正在处理混合传入的 HTTP 请求,我们允许 URI 帮助将请求路由到处理 XML-RPC 请求的代码。(在示例中,URI 是 /RPC2,告诉服务器将请求路由到“RPC2”响应者。)

必须指定用户代理和主机。

内容类型是文本/xml。

必须指定 Content-Length 并且必须是正确的。

于 2012-10-10T12:39:53.440 回答