开发者社区 问答 正文

XMLRPC并发问题?报错

有对xmlrpc熟悉的同学么。

我们一个项目,使用XMLRPC要提供远程接口调用,在高并发下,服务器端根本不响应客户端的请求,客户端报错:

[Fatal Error] :1:1: Premature end of file.
org.apache.xmlrpc.client.XmlRpcClientException: Failed to parse server's response: Premature end of file.
at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:188)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:156)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:143)
at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:56)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:167)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:137)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:126)


经检查,报这种错误的时候,服务器端根本没有接收到客户端的请求,貌似是由客户端直接报出来的。

有哪个同学帮忙看看这是什么原因呢。

服务器端客户端都使用tomcat7,XMLRPC3.1.3

展开
收起
爱吃鱼的程序员 2020-06-22 11:08:58 754 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    有人帮忙瞅瞅么。

    看下是不是发出去的东西是空

    xmlRpcServer.setMaxThreads(100); 服务端线程数弄多点


    没用过xmlrpc。不过基于xml的rpc消息服务真心过时了。。

    我不是说用什么工具过时了,而是基于XML格式的rpc消息过时了。decode/encode效率差,传输量大。如果你用java的话可以有很多选择,比如google-protocol-buffer。那现在用什么是不过时的
    2020-06-22 11:09:14
    赞同 展开评论
问答地址: