When working through the Java Bot tutorial I was very careful and tested my code along the way. After uploading my code, everything worked beautifully except the profile. I checked my extended Profile servlet, and everything looked fine. I also made sure I could hit the web page I had referenced and the image, no permissions problem there. It wasn't until I was away from the computer and thinking about the Profile servlet I had written when I realized the problem. Nowhere in there was the Profile servlet wired up to anything other than just extending the ProfileServlet class.
You have to map the servlet in the war/WEB-INF/web.xml file much like you did for the app itself. If you don't do this, your bot will remain a faceless, web-pageless, nameless bot.
Add the following to wire up your servlet changing PACKAGE_NAME to your package (like a namespace) that your class is in and CLASS_NAME to the name of the class that extended
<servlet>
<servlet-name>Profile</servlet-name>
<servlet-class>PACKAGE_NAME.CLASS_NAME</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Profile</servlet-name>
<url-pattern>/_wave/robot/profile</url-pattern>
</servlet-mapping>
When you fix your bot, don't forget to change the version number, and PUBLISH your changes. You may also want to check out my Version Management post if you're still having problems.
- Eck