在点击endPoint时,Apache Camel在代理后失败。 SocketException

时间:2015-04-09 17:19:40

标签: apache proxy apache-camel

有人可以提供你的想法。我的配置出了什么问题。

这是一种方法:

public CamelContext camelContext() throws Exception {
    final SpringCamelContext camelContext = new SpringCamelContext();
    camelContext.getProperties().put("http.proxyHost","webproxy.lon.corp.services");
    camelContext.getProperties().put("http.proxyPort","80");
    camelContext.addRoutes(new CortellisRouteBuilder(env));
    return camelContext;
}

第二种方法

https4://xxxxxx/xxxx/ws/rs/xx-v1/match?authUsername=someUsernamexxx&authPassword=xxxxxxxxx&authMethod=Digest&proxyHost=webproxy.services.xxx.com&proxyPort=80&proxyAuthScheme=http4

两者都不起作用。以下是我收到的例外情况。它做3退休然后失败。

Exchange[
Id                  ID-UC193537-TPL-A-54917-1428598980021-0-2
ExchangePattern     InOut
Headers             {breadcrumbId=ID-UC193537-TPL-A-54917-1428598980021-0-1,   
CamelAcceptContentType=application/x-www-form-urlencoded,   

CamelHttpMethod=POST,camelHttpQuery=text=Paracetamol,   
camelRedelivered=false, CamelRedeliveryCounter=0}
BodyType            null
Body                [Body is null]]

=============================================== =====================

    I/O exception (java.net.SocketException) caught when processing request:  
    Software caused connection abort: recv failed
   2015-04-09 18:04:36,876 - INFO  [http-apr-8080-exec-  
   4:HttpMethodDirector.executeWithRetry@445] - Retrying request
   2015-04-09 18:04:37,015 - INFO  [http-apr-8080-exec-  
   4:HttpMethodDirector.executeWithRetry@439] - I/O exception   
  (java.net.SocketException) caught when processing request: Software caused 
  connection abort: recv failed
  2015-04-09 18:04:37,015 - INFO  [http-apr-8080-exec-  
  4:HttpMethodDirector.executeWithRetry@445] - Retrying request
  2015-04-09 18:04:37,167 - INFO  [http-apr-8080-exec- 
  4:HttpMethodDirector.executeWithRetry@439] - I/O exception  
  (java.net.SocketException) caught when processing request: Software caused  
  connection abort: recv failed
  2015-04-09 18:04:37,168 - INFO  [http-apr-8080-exec- 
  4:HttpMethodDirector.executeWithRetry@445] - Retrying request
  2015-04-09 18:04:37,298 - ERROR [http-apr-8080-exec-
  4:MarkerIgnoringBase.error@161] - Failed delivery for (MessageId: ID- 
  UC193537-TPL-A-54917-1428598980021-0-1 on ExchangeId: ID-UC193537-TPL-A- 
  54917-1428598980021-0-2). Exhausted after delivery attempt: 1 caught: 
  java.net.SocketException: Software caused connection abort: recv failed

=============================================== =====================

   java.net.SocketException: Software caused connection abort: recv failed
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:173)
            at java.net.SocketInputStream.read(SocketInputStream.java:122)
            at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
            at sun.security.ssl.InputRecord.read(InputRecord.java:480)
            at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934)
            at    sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
         at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:709)
          at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
         at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
         at  

2 个答案:

答案 0 :(得分:0)

当本地网络系统中止连接时,可能会发生此错误,请参阅例如java.net.SocketException: Software caused connection abort: recv failed

代理服务器可能会中止连接。您可以尝试直接连接到您的服务(=不通过您的代理)?

答案 1 :(得分:0)

cortellis.ontologiesNerUrl=https4://xxxx/ls-api-ws/ws/rs/xxxx-v1/ner?proxyPort=80&proxyHost=xxxxxxxx&authMethod=Basic&authUsername=TR_Internal_024&authPassword=ZTYA5S1KLF7WCDMN&**proxyAuthScheme=http4**

添加了proxyAuthScheme = http4 它适用于基于休息的URL,但不适用于基于SOAP的URL

i have picked the latest camel version 2.15.1