We had a need to go from CAN bus (specific protocol CAN Calibration Protocol) to EtherNET/IP (as IO device to ControlLogix processor). We used a NetBurner CB34Ex unit. One of our engineers wrote a CAN Calibration Protocol Driver (CCP), another wrote a offline configuration tool and we purchased an EtherNET/IP server driver from RealTime Automation (RTA) that was setup for use with the NetBurner module. They also have one for Modbus TCP. Their prices may seem high, but their code works as advertised. Of course the NetBurner is programed using C/C++ and uses a realtime OS based on Micro-C OS II. So it is solution I would think hard about before going that route, but as in our case we had no other choice.
Anyway, if this is something you are going to repeat you may want to look at something along these lines.
Otherwise the AnyBus and the RedLion product is something to consider if you are dealing with some of the more standard protocols over CAN (CANOpen, J1939, DeviceNet, etc.).
Oh, by the way, the ADAM 485 to Ethernet converter is not going to work unless you put a serial to CAN converter on the end of that and then write a protocol driver to convert the CAN messages that you want to send/receive from the Ethernet side. You need hardware to handle the low level CAN timings. This can be an embedded micro processor with the Bosch IP silicon embedded in it or an FPGA with the IP code from Bosch in it.
Anyway, with a little more info I might have a specific recommendation. What exactly are you trying to communicate with over CAN and do you know that the protocol and speed that you will be using?
Darren