Centralized statistic collector. All WS are converted to use the same input and outpu...
[jabaws.git] / how_to_add_new_webservice.txt
index 8d7e7cc..529aa42 100644 (file)
@@ -30,6 +30,22 @@ Edit binaries/src setexecutableflag.sh and compilebin.sh scripts accordingly.
 \r
 12) Register web service in WEB-INF/ web.xml and sun-jaxws.xml\r
 \r
+13) Add generated wsdl to wsbuild.xml ant script to generate the stubs\r
+\r
+14) Run build-server task in wsbuild file. Watch for errors. If cannot compile that means \r
+that JAXB cannot serialize some of the data structures. Add appropriate annotations to your data types.\r
+Check that \r
+  - you do not have interfaces to serialize. JAXB cannot serialize them.\r
+  - you have a default no args constructor (can be private if you do not need it)\r
+  - JAXB cannot serialize a Map, use custom data structure instead!\r
+  - Enum cannot be serialized as its abstract class (do not confuse with enum which is fine)\r
+  - Fields serialization leave a little more space for manuevre, so use it. If you do you then \r
+  can accept and return interfaces, e.g. List, Map; abstract classes etc, from your methods. \r
+  \r
+If you have the data on the server side, but nothing is coming through to the client, \r
+this is a JAXB serialization problem. They tend to be very silent and thus hard to debug. Check your \r
+data structure can be serialized! \r
+\r
 13) Modify the client to work with your web service. \r
 \r
 14) Test. \r
@@ -38,7 +54,6 @@ Edit binaries/src setexecutableflag.sh and compilebin.sh scripts accordingly.
 \r
 \r
 \r
-\r
 If executable does not support parameters do not add a reference to the XXXParameter.xml \r
 file into the Executable.properties file. Do the same for Presets\r
 \r