我们使用Apache来调用weblogic服务(SOAP WebService)。我们正在使用Apache weblogic HTTP插件。如果达到最长时间,则不会重试呼叫。
SOAP-UI返回以下错误
Failure of server APACHE bridge:</H2><P><hr>No backend server available for connection: timed out after 5 seconds or idempotent set to OFF or method not idempotent.
我不确定5秒是否是默认消息,因为我可以清楚地看到SOAP UI在10003ms内响应。所以它明确使用我指定的10秒超时。
问题是如何告诉插件哪些服务方法是无效的? Indentotent设置为ON。重试次数计算为5次(ConnectTimeoutSecs / ConnectRetrySecs又称5/1 =重试5次)
My Full Weblogic Apache插件配置:
Listen *:7001
NameVirtualHost *:7001
<VirtualHost *:7001>
KeepAlive ON
LogLevel debug
DocumentRoot "/var/www/html"
#Enables pooling of connections - Will keep connection open between PlugIn and weblogic server for 60 seconds
KeepAliveEnabled ON
#Default=20
KeepAliveSecs 60
#Default=ON - When IO timeout occurs and this is set to on it will connect to another server in the dynamic list
#Needs this setting before a failover will occur and the list to be updated.
Idempotent ON
#Default=10 - Will wait 5 seconds before a BAD server is retried again
MaxSkipTime 30
#Default=10 - Maximum time taken to obtain a response to a client request
ConnectTimeoutSecs 5
#Default=2 - Wait 1 second before attempting to connect (Sleep time)
ConnectRetrySecs 1
#MaxRetry-ies = Interval in seconds that the plugin should sleep between attempts to connect to the WLS
#Based off ConnectTimeoutSecs/ConnectRetrySecs aka 5/1 = Retry 5 times
#Default=2 (Must be > 0) - Timeout after 2 seconds if we cannot establish a connection
WLSocketTimeoutSecs 2
#Default=300 - Time is takes for the weblogic server to respond before the connection fails over to another server
#Customize this based on logic aka will be overridden on URL level
WLIOTimeoutSecs 300
#Used to query based on the ?__WebLogicBridgeConfig parameter
DebugConfigInfo ON
#Will pass the header of the request to pass through the apache server
#Default=OFF
WLProxyPassThrough ON
#Tells the plugin which requests to retry should the connection be lost
#Default=ALL
WLRetryAfterDroppedConnection ALL
#This controls whether a 503 error is returned or a failover initialized
#Default=ON
WLServerInitiatedFailover ON
<IfModule mod_weblogic.c>
<Location /mySuperDuperUrl/>
Idempotent ON
WLIOTimeoutSecs 10
SetHandler weblogic-handler
WLSRequest On
WebLogicCluster server1:123,server2:124,server3:125
</Location>
</IfModule>