95-702 OCT Spring 2008 Homework 5 Due: Wednesday, August 6, 2008 In class we reviewed three java programs that used TCP sockets to play knock knock jokes. In this lab you will remove all of the socket code and build a Java web service that interacts with either Java or C# clients. The web service will be constructed with JAX-WS 2.0 using JDK 6. One client will be written in Java and one will be written in C#. All of the code needs to be well documented. This includes the code provided by Sun. That is, you will comment the code that implements the finite state machine. Submit to blackboard's assignment section the following: 1) All server side code written in Java. 2) One C# client that interacts with a user and the web service written in Java. 3) One Java client that interacts with a user and the web service written in Java. 4) One screen shot showing Java to Java interaction. 5) One screen shot showing C# to Java interaction Notes: You do not need IIS for this lab. We are not writing a C# web service. We are writing a C# client. The web service will be written in JDK6 and JDK6 provides its own web server. When writing the service, use the apt tool as shown on the slides. When writing the Java client, start by using the wsimport tool. When writing the C# client, start by using the wsdl tool. When using C#, the stub code (generated by wsdl.exe) needs to be compiled to a dll file. To do this, try csc -t:Library filename.cs. The C# client needs to be compiled and the complier needs to know about the dll. Try csc -r:filename.dll client.cs.