+package compbio.ws.client;\r
+\r
+import static org.testng.Assert.assertNotNull;\r
+import static org.testng.Assert.fail;\r
+\r
+import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.IOException;\r
+import java.net.URL;\r
+import java.util.List;\r
+\r
+import javax.xml.namespace.QName;\r
+import javax.xml.ws.Service;\r
+\r
+import org.testng.annotations.Test;\r
+\r
+import compbio.data.msa.MsaWS;\r
+import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.FastaSequence;\r
+import compbio.data.sequence.SequenceUtil;\r
+import compbio.metadata.JobSubmissionException;\r
+import compbio.metadata.LimitExceededException;\r
+import compbio.metadata.ResultNotAvailableException;\r
+import compbio.metadata.UnsupportedRuntimeException;\r
+import compbio.util.SysPrefs;\r
+import compbio.ws.server.ClustalWS;\r
+\r
+public class TestWSClient {\r
+\r
+ @Test\r
+ public void test() throws FileNotFoundException, IOException {\r
+\r
+ URL url = new URL("http://localhost:8080/jaba/ClustalWS?wsdl");\r
+ String namespace = "http://msa.data.compbio/01/01/2010/";\r
+ QName qname = new QName(namespace, "ClustalWS");\r
+ Service serv = Service.create(url, qname);\r
+ /*\r
+ * MsaWS msaws = serv.getPort(new QName(\r
+ * "http://msa.data.compbio/01/01/2010/", "ClustalWSPort"),\r
+ * MsaWS.class);\r
+ */\r
+ // Annotation<AACon> msaws = serv.getPort(new QName(namespace,\r
+ // "ClustalWSPort"), Annotation.class);\r
+\r
+ MsaWS<ClustalWS> msaws = serv.getPort(new QName(namespace,\r
+ "ClustalWSPort"), MsaWS.class);\r
+\r
+ // List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
+ // AAConTester.test_alignment_input));\r
+\r
+ String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
+ + File.separator;\r
+\r
+ List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
+ CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata"\r
+ + File.separator + "testlimit.in"));\r
+\r
+ try {\r
+ String jobId = msaws.align(fsl);\r
+ Alignment result = msaws.getResult(jobId);\r
+ assertNotNull(result);\r
+ System.out.println(result);\r
+ } catch (UnsupportedRuntimeException e) {\r
+ e.printStackTrace();\r
+ fail(e.getMessage());\r
+ } catch (LimitExceededException e) {\r
+ e.printStackTrace();\r
+ fail(e.getMessage());\r
+ } catch (JobSubmissionException e) {\r
+ e.printStackTrace();\r
+ fail(e.getMessage());\r
+ } catch (ResultNotAvailableException e) {\r
+ e.printStackTrace();\r
+ fail(e.getMessage());\r
+ }\r
+ System.out.println("Pres: " + msaws.getPresets());\r
+ }\r
+}\r