跪求 axis2 发布到外网有时报 connection reset 解答,该如何处理

   阅读
跪求 axis2 发布到外网有时报 connection reset 解答
因项目需要把axis2 发布同时到外网与内网(两个服务器,内网的供内网调用,外网供外网调用)。内网访问调用webservice 接口。外网好像是受防火墙的还是什么的限制,访问多了,会报connection reset 异常(但网管说没有做限制),少数时间能通过RPC,Axios正常访问,有时老报异常
说明:
服务器端:
spring,hibernate...
web服务器:glassfish,采用,axis2采用 service.xml文件的部署方式.客户端使用PRC,AXIOM 都连接不上(程序中都是用PRC连接的)。但能用.net和在浏览器上面通过地址访问,并返回正确消息。
http://域名/dataService/services/DataexchangeService/checkLoginuserCode=admin&password=admin

客户端:
java swing,spring...

异常如下:
java.lang.RuntimeException: [was class java.net.SocketException] Connection reset
at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)
at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3657)
at com.ctc.wstx.sr.BasicStreamReader.getText(BasicStreamReader.java:809)
at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getText(XMLStreamReaderWrapper.java:164)
at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.getText(XMLStreamReaderWrapper.java:164)
at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:289)
at org.apache.axiom.om.impl.builder.StAXBuilder.createOMText(StAXBuilder.java:250)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:252)
at org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(OMElementImpl.java:337)
at org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.findNextElementWithQName(OMChildrenQNameIterator.java:96)
at org.apache.axiom.om.impl.traverse.OMChildrenQNameIterator.hasNext(OMChildrenQNameIterator.java:76)
at org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName(OMElementImpl.java:274)
at org.apache.axiom.soap.impl.llom.soap11.SOAP11FaultImpl.getRole(SOAP11FaultImpl.java:136)
at org.apache.axis2.AxisFault.initializeValues(AxisFault.java:202)
at org.apache.axis2.AxisFault.<init>(AxisFault.java:196)
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:446)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
at RPCClient.checkLogin(RPCClient.java:48)
at RPCClient.main(RPCClient.java:60)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at org.apache.commons.httpclient.ChunkedInputStream.read(ChunkedInputStream.java:182)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at org.apache.commons.httpclient.AutoCloseInputStream.read(AutoCloseInputStream.java:108)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at org.apache.axiom.om.util.DetachableInputStream.read(DetachableInputStream.java:147)
at java.io.FilterInputStream.read(FilterInputStream.java:116)
at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
at java.io.FilterInputStream.read(FilterInputStream.java:90)
at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:365)
at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:110)
at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)
at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4628)
at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4126)
at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3701)
at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3649)
... 23 more
PRC连接方式

private final String srcTargetNameSpaces = "http://impl.webservice.dataexchange.jst.com";
private final String srcSrvcUrl = "http://域名/dataService/services/DataexchangeService";
//RPC
public String checkLogin(String userCode, String password)
throws Exception {
QName qname = new QName(srcTargetNameSpaces, "checkLogin");
Object param[] = new Object[] { userCode, password };
Object[] response = null;
try {
RPCServiceClient client = new RPCServiceClient();
Options options = client.getOptions();
options.setTo(new EndpointReference(srcSrvcUrl));
Class[] returnTypes = new Class[] { String.class };
response = client.invokeBlocking(qname, param, returnTypes);
client.cleanupTransport();
} catch (AxisFault e) {
阅读