Issue
I/A Series G3 weather service will not connect - error indicates java.net.SocketTimeoutException: connect timed out. A browser on the same computer is able to access www.weather.gov without issue. The application director output window displays the following ...
WARNING [12:56:28 05-Dec-13 EST][weather] Updating forecast failed for Battle$20Creek
java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at javax.baja.naming.BIpHost$SocketFactory.open(BIpHost.java:271)
at javax.baja.naming.BIpHost$SocketFactory.open(BIpHost.java:264)
at javax.baja.naming.BIpHost.openSocket(BIpHost.java:129)
at javax.baja.net.HttpConnection.connect(HttpConnection.java:263)
at javax.baja.net.HttpConnection.connect(HttpConnection.java:238)
at com.tridium.weather.nws.NwsForecastReader.getFeed(NwsForecastReader.java:76)
at com.tridium.weather.nws.NwsForecastReader.getFeed(NwsForecastReader.java:55)
at com.tridium.weather.nws.NwsForecastReader.getForecast(NwsForecastReader.java:135)
at com.tridium.weather.nws.BNwsWeatherProvider.updateReport(BNwsWeatherProvider.java:450)
at javax.baja.weather.BWeatherReport.doUpdateWeatherReport(BWeatherReport.java:269)
at auto.javax_baja_weather_BWeatherReport.invoke(AutoGenerated)
at com.tridium.sys.schema.ComponentSlotMap.invoke(ComponentSlotMap.java:1357)
at com.tridium.sys.engine.EngineUtil.doInvoke(EngineUtil.java:49)
Product Line
TAC IA Series
Environment
- I/A Series G3 Enterprise Network Server
- ENC
- JACE
Cause
The connection timeout may be related to the proxy server. By default, the weather service driver contacts the various weather.gov sites (alerts.weather.gov, graphical.weather.gov, etc.) directly as opposed to routing through the proxy server. The connection times out as the proxy server is unable to route the request.
I/A Series G3 (3.4 and higher) provides a service that can be added to the station. The HttpProxyServer service is used to configure the station so that outbound web services know how to get through an outbound non-transparent proxy server. The HttpProxyServer service located in the net module. Configure this service to the proxy server that will be routing. The user guide states the following.
All services that make use of the bajax.baja.net.HttpConnection class will automatically roll over to using the proxy server once the HttpProxyService has been configured and enabled. The Weather Service is one of the services that is affected by this feature.
Resolution
Verify the updated weather modules are installed, see Weather information provided through the weather module in I/A Series G3 is no longer updating.
- weather-3.4.67.3 or higher
- weather-3.5.39.5 or higher
- weather-3.6.37.4 or higher
To use this component:
- Open the net (Network API) module in the Workbench palette.
- Add the HttpProxyServer to the Services of the station.
- Configure the following properties in the Property Sheet view as required.
Status - This display only property displays the status of the Http Proxy Service.
Fault Cause - This display only property provides an error message that indicates the reason for a fault.
Enabled - This property has a true (enabled) and false (disabled) option.
Server - This property provides a text field for entering the address of the proxy server you are connecting to. Port - This property is for specifying the port number for communicating with the proxy server.
Exclusions - This text field allows you to designate addresses that are allowed to be contacted directly, therefore “excluding” them from having to be contacted through the proxy server. The default addresses in the field are typical addresses followed by a slash (/) and the subnet mask designation.
Authentication Scheme - This property provides the following two options:
None - no authentication is required at the proxy server when this option is set.
Basic - basic authentication is required at the proxy server when this option is set.
User - This is the login name to be used when authentication is set to Basic.
Password - This is the password text that is to be used when authentication is set to Basic.