2011-11-22 5 views
0

Apache CXF를 사용하여 웹 서비스를 구현했습니다. 흐름은 다음과 같습니다.CXF : 소켓 타임 아웃 예외

요청이있을 때 우리는 입력 된 매개 변수를 얻습니다. 2. 획득 된 입력 매개 변수에서 내부적으로 다른 웹 서비스를 호출합니다. 내가

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 
factory.setServiceClass(MyWebService.class); 
factory.setAddress(host); 

    MyWebService client = (MYWebService) factory.create(); 
    Client clientProxy = ClientProxy.getClient(client); 
      HTTPConduit conduit = (HTTPConduit) clientProxy.getConduit(); 
      HTTPClientPolicy policy = new HTTPClientPolicy(); 
      policy.setConnectionTimeout(200000000); 
      policy.setReceiveTimeout(10000000); 
      conduit.setClient(policy); 

을 다음하지만 여전히 무엇입니까 소켓 시간 초과 예외

SEVERE: Servlet.service() for servlet CXFServlet threw exception 
java.net.SocketException: Broken pipe 
     at java.net.SocketOutputStream.socketWrite0(Native Method) 
     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) 
     at java.net.SocketOutputStream.write(SocketOutputStream.java:136) 
     at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:740) 
     at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434) 
     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349) 
     at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:764) 
     at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:126) 
     at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:573) 
     at org.apache.coyote.Response.doWrite(Response.java:560) 
     at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353) 
     at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434) 
     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349) 
     at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381) 
     at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370) 
     at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89) 
     at com.ctc.wstx.io.UTF8Writer.write(UTF8Writer.java:139) 
     at com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1103) 
     at com.ctc.wstx.sw.BufferingXmlWriter.fastWriteRaw(BufferingXmlWriter.java:1149) 
     at com.ctc.wstx.sw.BufferingXmlWriter.writeEndTag(BufferingXmlWriter.java:803) 
     at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:669) 
     at com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:282) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:633) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:525) 
     at org.apache.cxf.staxutils.StaxUtils.writeNode(StaxUtils.java:642) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:628) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:525) 
     at org.apache.cxf.staxutils.StaxUtils.writeNode(StaxUtils.java:642) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:628) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:525) 
     at org.apache.cxf.staxutils.StaxUtils.writeNode(StaxUtils.java:642) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:628) 
     at org.apache.cxf.staxutils.StaxUtils.writeElement(StaxUtils.java:525) 

내가 메서드 호출로 내 웹 서비스에서 다른 Webservice를 호출하고 방법을 (준 내 JSP 내부

그리고 JaxWsProxyFactoryBean을 사용하지 않음) 이것이 문제가됩니까 ??

답변

0
 
java.net.SocketException: Broken pipe 

시간 초과 예외는 아닙니다. 그것은 기본적으로 서버가 어떤 이유로 연결을 닫았으며 더 이상 소켓에 쓸 수 없다고 말합니다. 이유를 파악하려면 서버 측 로그를 확인해야합니다.

+0

대단히 감사합니다. – Pawan