Maybe you are confusing the GUI http service port (80) with the XML (8002) service port?
The EZServe responds to web GUI requests by listening to port 80 of it’s IP address and ALSO responds to XML requests by listening to port 8002 of it’s IP address. If you want to be able to do both things (and this depends a great deal on your router’s specifics) you need to map both ports (80 and 8002) between the public IP of the router and the private IP of the EZServe.
111.222.333.444:8898 -> 192.168.2.156:80 (for html / GUI interface)
111.222.333.444:8897 -> 192.168.2.156:8002 (for XML interface)
Sometimes there is also a so-called “DMZ” setting or “server” setting in routers that allow a private IP to be entirely exposed to the public network. This feature can be handy for troubleshooting or sanity checking network connectivity, but generally not a good idea to do as there is no firewall protection between your DMZ device and the Internet at large, plus will also reduce your flexability in network configuration.
The purpose of firewalls is to keep the outside network traffic out, but when you need to let some unsolicited traffic in, these protection features can really work against you…