I got few more questions about your requirements
Dose your firewall block direct access to internet (I mean the connection that are initiated withing yur lan) if not you dont need a proxy otherwise you will need it.
Does your client program uses some sort of standerd protocole when talking to server like HTTP or FTP in that case you can use the proxy you have installed in your network. If you are using your own protocole you will have to either use a Socket proxy server or write a proxy for your protocole.
If you are using HTTP or FTP with some sort of third part library to handle the communication or java.net.URL objects then those APIs provide you functions to set the details of proxy servers to use.
I dont know much about using Socket proxy servers when creating sockets.
If you can give more technical informatino about ho your client communication with the server I can be more specific
Java won't know if it is connected to a proxy server except for the server communicating with the socket is different then what the request was made on.
Or so that's how it should work.
There really is no option to go around a proxy - the proxy is there for a reason - to filter. If you could simply tell it to go around a proxy - the proxy would be useless.
I mean in some places they use HTTP proxy just to improve perfomance.
Ex:- My ISP has a proxy It is optional to go through it but if you do you get better download rates for static web content (which has been downloaded by another surfer before me).
And also some firewalls only there to block the externaly initiated connections in such cases winthin the LAN you can initiate a connection without any problems
But of course that may not be your case.