Finally, the new web services are working
authorpvtroshin <pvtroshin@e3abac25-378b-4346-85de-24260fe3988d>
Thu, 10 Feb 2011 13:50:10 +0000 (13:50 +0000)
committerpvtroshin <pvtroshin@e3abac25-378b-4346-85de-24260fe3988d>
Thu, 10 Feb 2011 13:50:10 +0000 (13:50 +0000)
git-svn-id: link to svn.lifesci.dundee.ac.uk/svn/barton/ptroshin/JABA2@3738 e3abac25-378b-4346-85de-24260fe3988d

17 files changed:
datamodel/compbio/data/sequence/Range.java
datamodel/compbio/data/sequence/Score.java
datamodel/compbio/data/sequence/ScoreManager.java
how_to_add_new_webservice.txt
testsrc/compbio/data/sequence/SequenceUtilTester.java
webservices/compbio/data/msa/jaxws/GetAnnotationResponse.java
webservices/compbio/data/msa/jaxws/JobSubmissionExceptionBean.java
webservices/compbio/data/msa/jaxws/LimitExceededExceptionBean.java
webservices/compbio/data/msa/jaxws/ResultNotAvailableExceptionBean.java
webservices/compbio/data/msa/jaxws/UnsupportedRuntimeExceptionBean.java
webservices/compbio/data/msa/jaxws/WrongParameterExceptionBean.java
webservices/compbio/ws/server/resource/AAConWS.wsdl
webservices/compbio/ws/server/resource/AAConWS_schema1.xsd
webservices/compbio/ws/server/resource/DisemblWS_schema1.xsd
webservices/compbio/ws/server/resource/GlobPlotWS_schema1.xsd
webservices/compbio/ws/server/resource/JronnWS_schema1.xsd
wsbuild.xml

index 839ae28..1fabc07 100644 (file)
@@ -5,6 +5,12 @@ public class Range implements Comparable<Range> {
        public final int from;\r
        public final int to;\r
 \r
        public final int from;\r
        public final int to;\r
 \r
+       private Range() {\r
+               // JAXB default constructor should not be used\r
+               from = 0;\r
+               to = from;\r
+       }\r
+\r
        public Range(int from, int to) {\r
                this.from = from;\r
                this.to = to;\r
        public Range(int from, int to) {\r
                this.from = from;\r
                this.to = to;\r
index b61c74e..f28bd0d 100644 (file)
@@ -12,8 +12,6 @@ import java.util.TreeSet;
 \r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
 \r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
-import javax.xml.bind.annotation.XmlElement;\r
-import javax.xml.bind.annotation.XmlTransient;\r
 \r
 import compbio.util.annotation.Immutable;\r
 \r
 \r
 import compbio.util.annotation.Immutable;\r
 \r
@@ -28,25 +26,22 @@ import compbio.util.annotation.Immutable;
 @Immutable\r
 public class Score {\r
 \r
 @Immutable\r
 public class Score {\r
 \r
-       @XmlTransient\r
        static final NumberFormat NUMBER_FORMAT = NumberFormat\r
                        .getNumberInstance(Locale.UK);\r
        static {\r
                NUMBER_FORMAT.setGroupingUsed(false);\r
                NUMBER_FORMAT.setMaximumFractionDigits(3);\r
        }\r
        static final NumberFormat NUMBER_FORMAT = NumberFormat\r
                        .getNumberInstance(Locale.UK);\r
        static {\r
                NUMBER_FORMAT.setGroupingUsed(false);\r
                NUMBER_FORMAT.setMaximumFractionDigits(3);\r
        }\r
+       // This should be Enum<?> but JAXB cannot serialize it.\r
+       private final String method;\r
 \r
 \r
-       private Enum<?> method;\r
-       // private String method;\r
-\r
-       @XmlElement\r
        private TreeSet<Range> ranges = new TreeSet<Range>();\r
 \r
        private TreeSet<Range> ranges = new TreeSet<Range>();\r
 \r
-       @XmlElement\r
        private ArrayList<Float> scores = new ArrayList<Float>(0);\r
 \r
        private Score() {\r
                // JaXB default constructor\r
        private ArrayList<Float> scores = new ArrayList<Float>(0);\r
 \r
        private Score() {\r
                // JaXB default constructor\r
+               method = null;\r
        }\r
 \r
        /**\r
        }\r
 \r
        /**\r
@@ -60,7 +55,7 @@ public class Score {
         *            alignment\r
         */\r
        public Score(Enum<?> method, ArrayList<Float> scores) {\r
         *            alignment\r
         */\r
        public Score(Enum<?> method, ArrayList<Float> scores) {\r
-               this.method = method;\r
+               this.method = method.toString();\r
                this.scores = new ArrayList<Float>(scores);\r
        }\r
 \r
                this.scores = new ArrayList<Float>(scores);\r
        }\r
 \r
@@ -76,18 +71,18 @@ public class Score {
         *            function, usually can be calculated based on scores\r
         */\r
        public Score(Enum<?> method, ArrayList<Float> scores, TreeSet<Range> ranges) {\r
         *            function, usually can be calculated based on scores\r
         */\r
        public Score(Enum<?> method, ArrayList<Float> scores, TreeSet<Range> ranges) {\r
-               this.method = method;\r
+               this.method = method.toString();\r
                this.ranges = ranges;\r
                this.scores = scores;\r
        }\r
 \r
        public Score(Enum<?> method, TreeSet<Range> ranges) {\r
                this.ranges = ranges;\r
                this.scores = scores;\r
        }\r
 \r
        public Score(Enum<?> method, TreeSet<Range> ranges) {\r
-               this.method = method;\r
+               this.method = method.toString();\r
                this.ranges = ranges;\r
        }\r
 \r
        public Score(Enum<?> method, float[] scores) {\r
                this.ranges = ranges;\r
        }\r
 \r
        public Score(Enum<?> method, float[] scores) {\r
-               this.method = method;\r
+               this.method = method.toString();\r
                this.scores = toList(scores);\r
        }\r
 \r
                this.scores = toList(scores);\r
        }\r
 \r
@@ -103,7 +98,7 @@ public class Score {
         * \r
         * @return the ConservationMethod\r
         */\r
         * \r
         * @return the ConservationMethod\r
         */\r
-       public Enum<?> getMethod() {\r
+       public String getMethod() {\r
                return method;\r
        }\r
 \r
                return method;\r
        }\r
 \r
index f384308..7ddf894 100644 (file)
@@ -13,10 +13,12 @@ import java.util.Set;
 \r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
 \r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
+import javax.xml.bind.annotation.XmlTransient;\r
 \r
 @XmlAccessorType(XmlAccessType.FIELD)\r
 public class ScoreManager {\r
 \r
 \r
 @XmlAccessorType(XmlAccessType.FIELD)\r
 public class ScoreManager {\r
 \r
+       @XmlTransient\r
        public static final String SINGLE_ENTRY_KEY = "Alignment";\r
 \r
        private List<ScoreHolder> seqScores;\r
        public static final String SINGLE_ENTRY_KEY = "Alignment";\r
 \r
        private List<ScoreHolder> seqScores;\r
@@ -104,7 +106,6 @@ public class ScoreManager {
                }\r
                writer.flush();\r
        }\r
                }\r
                writer.flush();\r
        }\r
-       \r
 \r
        @Override\r
        public int hashCode() {\r
 \r
        @Override\r
        public int hashCode() {\r
@@ -132,13 +133,11 @@ public class ScoreManager {
                return true;\r
        }\r
 \r
                return true;\r
        }\r
 \r
-\r
-\r
        @XmlAccessorType(XmlAccessType.FIELD)\r
        public static class ScoreHolder {\r
 \r
                public String id;\r
        @XmlAccessorType(XmlAccessType.FIELD)\r
        public static class ScoreHolder {\r
 \r
                public String id;\r
-               public Set<Score> scores;\r
+               public HashSet<Score> scores;\r
 \r
                private ScoreHolder() {\r
                        // JAXB Default constructor should not be used otherwise\r
 \r
                private ScoreHolder() {\r
                        // JAXB Default constructor should not be used otherwise\r
@@ -146,7 +145,7 @@ public class ScoreManager {
 \r
                ScoreHolder(String id, Set<Score> scores) {\r
                        this.id = id;\r
 \r
                ScoreHolder(String id, Set<Score> scores) {\r
                        this.id = id;\r
-                       this.scores = scores;\r
+                       this.scores = new HashSet<Score>(scores);\r
                }\r
 \r
                public void writeOut(OutputStream outStream) throws IOException {\r
                }\r
 \r
                public void writeOut(OutputStream outStream) throws IOException {\r
@@ -158,13 +157,12 @@ public class ScoreManager {
 \r
                public Score getScoreByMethod(Enum<?> method) {\r
                        for (Score sc : scores) {\r
 \r
                public Score getScoreByMethod(Enum<?> method) {\r
                        for (Score sc : scores) {\r
-                               if (method == sc.getMethod()) {\r
+                               if (method.toString().equals(sc.getMethod())) {\r
                                        return sc;\r
                                }\r
                        }\r
                        return null;\r
                }\r
                                        return sc;\r
                                }\r
                        }\r
                        return null;\r
                }\r
-\r
                public int getNumberOfScores() {\r
                        return scores.size();\r
                }\r
                public int getNumberOfScores() {\r
                        return scores.size();\r
                }\r
@@ -200,7 +198,6 @@ public class ScoreManager {
                                return false;\r
                        return true;\r
                }\r
                                return false;\r
                        return true;\r
                }\r
-               \r
-               \r
+\r
        }\r
 }\r
        }\r
 }\r
index cb11ba4..529aa42 100644 (file)
@@ -38,6 +38,10 @@ Check that
   - 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
   - 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
 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
index 682bcad..b6e74ae 100644 (file)
@@ -232,11 +232,12 @@ public class SequenceUtilTester {
                        }\r
                        for (Score score : scores) {\r
 \r
                        }\r
                        for (Score score : scores) {\r
 \r
-                               if (score.getMethod() == (Enum<?>) GlobProtResult.Disorder) {\r
+                               if (score.getMethod()\r
+                                               .equals(GlobProtResult.Disorder.toString())) {\r
                                        assertEquals(score.getRanges().size(), 7);\r
                                        assertTrue(score.getScores().isEmpty());\r
                                }\r
                                        assertEquals(score.getRanges().size(), 7);\r
                                        assertTrue(score.getScores().isEmpty());\r
                                }\r
-                               if (score.getMethod() == (Enum<?>) GlobProtResult.Dydx) {\r
+                               if (GlobProtResult.valueOf(score.getMethod()) == GlobProtResult.Dydx) {\r
                                        assertFalse(score.getScores().isEmpty());\r
                                        assertTrue(score.getRanges().isEmpty());\r
                                }\r
                                        assertFalse(score.getScores().isEmpty());\r
                                        assertTrue(score.getRanges().isEmpty());\r
                                }\r
index d7adf3c..749551e 100644 (file)
@@ -1,8 +1,6 @@
 \r
 package compbio.data.msa.jaxws;\r
 \r
 \r
 package compbio.data.msa.jaxws;\r
 \r
-import java.util.HashMap;\r
-import java.util.HashSet;\r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
 import javax.xml.bind.annotation.XmlElement;\r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
 import javax.xml.bind.annotation.XmlElement;\r
@@ -15,14 +13,14 @@ import javax.xml.bind.annotation.XmlType;
 public class GetAnnotationResponse {\r
 \r
     @XmlElement(name = "return", namespace = "")\r
 public class GetAnnotationResponse {\r
 \r
     @XmlElement(name = "return", namespace = "")\r
-    private HashMap<String, HashSet<compbio.data.sequence.Score>> _return;\r
+    private compbio.data.sequence.ScoreManager _return;\r
 \r
     /**\r
      * \r
      * @return\r
 \r
     /**\r
      * \r
      * @return\r
-     *     returns HashMap<String,HashSet<Score>>\r
+     *     returns ScoreManager\r
      */\r
      */\r
-    public HashMap<String, HashSet<compbio.data.sequence.Score>> getReturn() {\r
+    public compbio.data.sequence.ScoreManager getReturn() {\r
         return this._return;\r
     }\r
 \r
         return this._return;\r
     }\r
 \r
@@ -31,7 +29,7 @@ public class GetAnnotationResponse {
      * @param _return\r
      *     the value for the _return property\r
      */\r
      * @param _return\r
      *     the value for the _return property\r
      */\r
-    public void setReturn(HashMap<String, HashSet<compbio.data.sequence.Score>> _return) {\r
+    public void setReturn(compbio.data.sequence.ScoreManager _return) {\r
         this._return = _return;\r
     }\r
 \r
         this._return = _return;\r
     }\r
 \r
index 30950b4..b2d62d6 100644 (file)
@@ -9,8 +9,8 @@ import javax.xml.bind.annotation.XmlType;
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
- * JAX-WS RI 2.2.1-hudson-28-\r
- * Generated source version: 2.2.1\r
+ * JAX-WS RI 2.1.6 in JDK 6\r
+ * Generated source version: 2.1.6\r
  * \r
  */\r
 @XmlRootElement(name = "JobSubmissionException", namespace = "http://msa.data.compbio/01/12/2010/")\r
  * \r
  */\r
 @XmlRootElement(name = "JobSubmissionException", namespace = "http://msa.data.compbio/01/12/2010/")\r
index c9c3a4e..e1bf0bf 100644 (file)
@@ -9,8 +9,8 @@ import javax.xml.bind.annotation.XmlType;
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
- * JAX-WS RI 2.2.1-hudson-28-\r
- * Generated source version: 2.2.1\r
+ * JAX-WS RI 2.1.6 in JDK 6\r
+ * Generated source version: 2.1.6\r
  * \r
  */\r
 @XmlRootElement(name = "LimitExceededException", namespace = "http://msa.data.compbio/01/12/2010/")\r
  * \r
  */\r
 @XmlRootElement(name = "LimitExceededException", namespace = "http://msa.data.compbio/01/12/2010/")\r
index be8a26d..7016909 100644 (file)
@@ -9,8 +9,8 @@ import javax.xml.bind.annotation.XmlType;
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
- * JAX-WS RI 2.2.1-hudson-28-\r
- * Generated source version: 2.2.1\r
+ * JAX-WS RI 2.1.6 in JDK 6\r
+ * Generated source version: 2.1.6\r
  * \r
  */\r
 @XmlRootElement(name = "ResultNotAvailableException", namespace = "http://msa.data.compbio/01/12/2010/")\r
  * \r
  */\r
 @XmlRootElement(name = "ResultNotAvailableException", namespace = "http://msa.data.compbio/01/12/2010/")\r
index 5e1268a..fa77aae 100644 (file)
@@ -9,8 +9,8 @@ import javax.xml.bind.annotation.XmlType;
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
- * JAX-WS RI 2.2.1-hudson-28-\r
- * Generated source version: 2.2.1\r
+ * JAX-WS RI 2.1.6 in JDK 6\r
+ * Generated source version: 2.1.6\r
  * \r
  */\r
 @XmlRootElement(name = "UnsupportedRuntimeException", namespace = "http://msa.data.compbio/01/12/2010/")\r
  * \r
  */\r
 @XmlRootElement(name = "UnsupportedRuntimeException", namespace = "http://msa.data.compbio/01/12/2010/")\r
index 62be910..fc22bd0 100644 (file)
@@ -9,8 +9,8 @@ import javax.xml.bind.annotation.XmlType;
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
 \r
 /**\r
  * This class was generated by the JAX-WS RI.\r
- * JAX-WS RI 2.2.1-hudson-28-\r
- * Generated source version: 2.2.1\r
+ * JAX-WS RI 2.1.6 in JDK 6\r
+ * Generated source version: 2.1.6\r
  * \r
  */\r
 @XmlRootElement(name = "WrongParameterException", namespace = "http://msa.data.compbio/01/12/2010/")\r
  * \r
  */\r
 @XmlRootElement(name = "WrongParameterException", namespace = "http://msa.data.compbio/01/12/2010/")\r
index dffcb48..c9c8412 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. -->
-<definitions targetNamespace="http://msa.data.compbio/01/12/2010/" name="AAConWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:tns="http://msa.data.compbio/01/12/2010/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
+<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. -->
+<definitions targetNamespace="http://msa.data.compbio/01/12/2010/" name="AAConWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://msa.data.compbio/01/12/2010/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
   <types>
     <xsd:schema>
       <xsd:import namespace="http://msa.data.compbio/01/12/2010/" schemaLocation="AAConWS_schema1.xsd"/>
   <types>
     <xsd:schema>
       <xsd:import namespace="http://msa.data.compbio/01/12/2010/" schemaLocation="AAConWS_schema1.xsd"/>
   </message>
   <portType name="SequenceAnnotation">
     <operation name="analize">
   </message>
   <portType name="SequenceAnnotation">
     <operation name="analize">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/analizeRequest" message="tns:analize"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/analizeResponse" message="tns:analizeResponse"/>
-      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/analize/Fault/UnsupportedRuntimeException"/>
-      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/analize/Fault/LimitExceededException"/>
-      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/analize/Fault/JobSubmissionException"/>
+      <input message="tns:analize"/>
+      <output message="tns:analizeResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException"/>
     </operation>
     <operation name="customAnalize">
     </operation>
     <operation name="customAnalize">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalizeRequest" message="tns:customAnalize"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalizeResponse" message="tns:customAnalizeResponse"/>
-      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalize/Fault/UnsupportedRuntimeException"/>
-      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalize/Fault/LimitExceededException"/>
-      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalize/Fault/JobSubmissionException"/>
-      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/customAnalize/Fault/WrongParameterException"/>
+      <input message="tns:customAnalize"/>
+      <output message="tns:customAnalizeResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException"/>
     </operation>
     <operation name="presetAnalize">
     </operation>
     <operation name="presetAnalize">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalizeRequest" message="tns:presetAnalize"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalizeResponse" message="tns:presetAnalizeResponse"/>
-      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalize/Fault/UnsupportedRuntimeException"/>
-      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalize/Fault/LimitExceededException"/>
-      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalize/Fault/JobSubmissionException"/>
-      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/presetAnalize/Fault/WrongParameterException"/>
+      <input message="tns:presetAnalize"/>
+      <output message="tns:presetAnalizeResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException"/>
     </operation>
     <operation name="getAnnotation">
     </operation>
     <operation name="getAnnotation">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getAnnotationRequest" message="tns:getAnnotation"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getAnnotationResponse" message="tns:getAnnotationResponse"/>
-      <fault message="tns:ResultNotAvailableException" name="ResultNotAvailableException" wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getAnnotation/Fault/ResultNotAvailableException"/>
+      <input message="tns:getAnnotation"/>
+      <output message="tns:getAnnotationResponse"/>
+      <fault message="tns:ResultNotAvailableException" name="ResultNotAvailableException"/>
     </operation>
     <operation name="pullExecStatistics">
     </operation>
     <operation name="pullExecStatistics">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/pullExecStatisticsRequest" message="tns:pullExecStatistics"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/pullExecStatisticsResponse" message="tns:pullExecStatisticsResponse"/>
+      <input message="tns:pullExecStatistics"/>
+      <output message="tns:pullExecStatisticsResponse"/>
     </operation>
     <operation name="cancelJob">
     </operation>
     <operation name="cancelJob">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/cancelJobRequest" message="tns:cancelJob"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/cancelJobResponse" message="tns:cancelJobResponse"/>
+      <input message="tns:cancelJob"/>
+      <output message="tns:cancelJobResponse"/>
     </operation>
     <operation name="getJobStatus">
     </operation>
     <operation name="getJobStatus">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getJobStatusRequest" message="tns:getJobStatus"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getJobStatusResponse" message="tns:getJobStatusResponse"/>
+      <input message="tns:getJobStatus"/>
+      <output message="tns:getJobStatusResponse"/>
     </operation>
     <operation name="getPresets">
     </operation>
     <operation name="getPresets">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getPresetsRequest" message="tns:getPresets"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getPresetsResponse" message="tns:getPresetsResponse"/>
+      <input message="tns:getPresets"/>
+      <output message="tns:getPresetsResponse"/>
     </operation>
     <operation name="getLimit">
     </operation>
     <operation name="getLimit">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getLimitRequest" message="tns:getLimit"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getLimitResponse" message="tns:getLimitResponse"/>
+      <input message="tns:getLimit"/>
+      <output message="tns:getLimitResponse"/>
     </operation>
     <operation name="getLimits">
     </operation>
     <operation name="getLimits">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getLimitsRequest" message="tns:getLimits"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getLimitsResponse" message="tns:getLimitsResponse"/>
+      <input message="tns:getLimits"/>
+      <output message="tns:getLimitsResponse"/>
     </operation>
     <operation name="getRunnerOptions">
     </operation>
     <operation name="getRunnerOptions">
-      <input wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getRunnerOptionsRequest" message="tns:getRunnerOptions"/>
-      <output wsam:Action="http://msa.data.compbio/01/12/2010/SequenceAnnotation/getRunnerOptionsResponse" message="tns:getRunnerOptionsResponse"/>
+      <input message="tns:getRunnerOptions"/>
+      <output message="tns:getRunnerOptionsResponse"/>
     </operation>
   </portType>
   <binding name="AAConWSPortBinding" type="tns:SequenceAnnotation">
     </operation>
   </portType>
   <binding name="AAConWSPortBinding" type="tns:SequenceAnnotation">
index 77fe8df..038af26 100644 (file)
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
-      <xs:element name="return" type="tns:hashMap" minOccurs="0"/>
+      <xs:element name="return" type="tns:scoreManager" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
     </xs:sequence>
   </xs:complexType>
 
-  <xs:complexType name="hashMap">
-    <xs:complexContent>
-      <xs:extension base="tns:abstractMap">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
+  <xs:complexType name="scoreManager">
+    <xs:sequence>
+      <xs:element name="seqScores" type="tns:scoreHolder" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
   </xs:complexType>
 
   </xs:complexType>
 
-  <xs:complexType name="abstractMap" abstract="true">
-    <xs:sequence/>
+  <xs:complexType name="scoreHolder">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="scores" type="tns:score" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="score">
+    <xs:sequence>
+      <xs:element name="method" type="xs:string" minOccurs="0"/>
+      <xs:element name="ranges" type="tns:range" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="scores" type="xs:float" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="range">
+    <xs:sequence>
+      <xs:element name="from" type="xs:int"/>
+      <xs:element name="to" type="xs:int"/>
+    </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
index 6185886..97d6989 100644 (file)
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
-      <xs:element name="return" type="tns:hashMap" minOccurs="0"/>
+      <xs:element name="return" type="tns:scoreManager" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
     </xs:sequence>
   </xs:complexType>
 
-  <xs:complexType name="hashMap">
-    <xs:complexContent>
-      <xs:extension base="tns:abstractMap">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
+  <xs:complexType name="scoreManager">
+    <xs:sequence>
+      <xs:element name="seqScores" type="tns:scoreHolder" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
   </xs:complexType>
 
   </xs:complexType>
 
-  <xs:complexType name="abstractMap" abstract="true">
-    <xs:sequence/>
+  <xs:complexType name="scoreHolder">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="scores" type="tns:score" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="score">
+    <xs:sequence>
+      <xs:element name="method" type="xs:string" minOccurs="0"/>
+      <xs:element name="ranges" type="tns:range" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="scores" type="xs:float" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="range">
+    <xs:sequence>
+      <xs:element name="from" type="xs:int"/>
+      <xs:element name="to" type="xs:int"/>
+    </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
index 109e3fb..858d2c2 100644 (file)
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
-      <xs:element name="return" type="tns:hashMap" minOccurs="0"/>
+      <xs:element name="return" type="tns:scoreManager" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
     </xs:sequence>
   </xs:complexType>
 
-  <xs:complexType name="hashMap">
-    <xs:complexContent>
-      <xs:extension base="tns:abstractMap">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
+  <xs:complexType name="scoreManager">
+    <xs:sequence>
+      <xs:element name="seqScores" type="tns:scoreHolder" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
   </xs:complexType>
 
   </xs:complexType>
 
-  <xs:complexType name="abstractMap" abstract="true">
-    <xs:sequence/>
+  <xs:complexType name="scoreHolder">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="scores" type="tns:score" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="score">
+    <xs:sequence>
+      <xs:element name="method" type="xs:string" minOccurs="0"/>
+      <xs:element name="ranges" type="tns:range" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="scores" type="xs:float" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="range">
+    <xs:sequence>
+      <xs:element name="from" type="xs:int"/>
+      <xs:element name="to" type="xs:int"/>
+    </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
index 77fe8df..038af26 100644 (file)
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
 
   <xs:complexType name="getAnnotationResponse">
     <xs:sequence>
-      <xs:element name="return" type="tns:hashMap" minOccurs="0"/>
+      <xs:element name="return" type="tns:scoreManager" minOccurs="0"/>
     </xs:sequence>
   </xs:complexType>
 
     </xs:sequence>
   </xs:complexType>
 
-  <xs:complexType name="hashMap">
-    <xs:complexContent>
-      <xs:extension base="tns:abstractMap">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
+  <xs:complexType name="scoreManager">
+    <xs:sequence>
+      <xs:element name="seqScores" type="tns:scoreHolder" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
   </xs:complexType>
 
   </xs:complexType>
 
-  <xs:complexType name="abstractMap" abstract="true">
-    <xs:sequence/>
+  <xs:complexType name="scoreHolder">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="scores" type="tns:score" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="score">
+    <xs:sequence>
+      <xs:element name="method" type="xs:string" minOccurs="0"/>
+      <xs:element name="ranges" type="tns:range" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="scores" type="xs:float" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="range">
+    <xs:sequence>
+      <xs:element name="from" type="xs:int"/>
+      <xs:element name="to" type="xs:int"/>
+    </xs:sequence>
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
   </xs:complexType>
 
   <xs:complexType name="ResultNotAvailableException">
index dad6d25..bf55aaa 100644 (file)
@@ -26,8 +26,9 @@
        <property name="disembl.wsdl" location="${wsdl.dir}/DisemblWS.wsdl" />\r
        <property name="globplot.wsdl" location="${wsdl.dir}/GlobPlotWS.wsdl" />\r
        <property name="jronn.wsdl" location="${wsdl.dir}/JronnWS.wsdl" />\r
        <property name="disembl.wsdl" location="${wsdl.dir}/DisemblWS.wsdl" />\r
        <property name="globplot.wsdl" location="${wsdl.dir}/GlobPlotWS.wsdl" />\r
        <property name="jronn.wsdl" location="${wsdl.dir}/JronnWS.wsdl" />\r
+       \r
 \r
 \r
-       <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">\r
+       <taskdef name="wsgen" onerror="report" classname="com.sun.tools.ws.ant.WsGen">\r
                <classpath refid="project.classpath" />\r
        </taskdef>\r
 \r
                <classpath refid="project.classpath" />\r
        </taskdef>\r
 \r
@@ -47,6 +48,7 @@
                        <!-- destdir - Where to put generated classes -->\r
                        <!-- sourcedestdir -  Where to put generated source files -->\r
                        <!-- resourcedestdir - Where to put generated source files -->\r
                        <!-- destdir - Where to put generated classes -->\r
                        <!-- sourcedestdir -  Where to put generated source files -->\r
                        <!-- resourcedestdir - Where to put generated source files -->\r
+\r
                <wsgen sei="compbio.ws.server.AAConWS" \r
                                        sourcedestdir="${basedir}/webservices" \r
                                        destdir="${classes}" \r
                <wsgen sei="compbio.ws.server.AAConWS" \r
                                        sourcedestdir="${basedir}/webservices" \r
                                        destdir="${classes}" \r
@@ -58,6 +60,7 @@
                                        <classpath refid="classes.path" />\r
                                        <classpath refid="project.classpath" />\r
                </wsgen>\r
                                        <classpath refid="classes.path" />\r
                                        <classpath refid="project.classpath" />\r
                </wsgen>\r
+\r
                <wsgen sei="compbio.ws.server.ClustalWS" \r
                                        sourcedestdir="${basedir}/webservices" \r
                                        destdir="${classes}" \r
                <wsgen sei="compbio.ws.server.ClustalWS" \r
                                        sourcedestdir="${basedir}/webservices" \r
                                        destdir="${classes}" \r
                                                <classpath refid="classes.path" />\r
                                                <classpath refid="project.classpath" />\r
                </wsgen>\r
                                                <classpath refid="classes.path" />\r
                                                <classpath refid="project.classpath" />\r
                </wsgen>\r
+               \r
                <wsgen sei="compbio.ws.server.DisemblWS" \r
                                                sourcedestdir="${basedir}/webservices" \r
                                                destdir="${classes}" \r
                <wsgen sei="compbio.ws.server.DisemblWS" \r
                                                sourcedestdir="${basedir}/webservices" \r
                                                destdir="${classes}" \r