-\r
- /**\r
- * DOCUMENT ME!\r
- *\r
- * @param arg DOCUMENT ME!\r
- * @param f DOCUMENT ME!\r
- * @param s DOCUMENT ME!\r
- *\r
- * @return DOCUMENT ME!\r
- */\r
- public String fetchDataFile(String arg, String f, String s)\r
- {\r
- if (f != null)\r
- {\r
- format = f;\r
- }\r
-\r
- if (s != null)\r
- {\r
- style = s;\r
- }\r
-\r
- call.setOperationName(new QName("urn:Dbfetch", "fetchDataFile"));\r
- call.addParameter("query", XMLType.XSD_STRING, ParameterMode.IN);\r
- call.addParameter("format", XMLType.XSD_STRING, ParameterMode.IN);\r
- call.addParameter("style", XMLType.XSD_STRING, ParameterMode.IN);\r
-\r
- QName qnameAttachment = new QName("urn:Dbfetch", "DataHandler");\r
- call.registerTypeMapping(javax.activation.DataSource.class,\r
- qnameAttachment, JAFDataHandlerSerializerFactory.class,\r
- JAFDataHandlerDeserializerFactory.class);\r
-\r
- call.setReturnType(qnameAttachment);\r
-\r
- try\r
- {\r
- Object ret = call.invoke(new Object[] { arg, format, style });\r
-\r
- if (null == ret)\r
- {\r
- System.err.println("Received null ");\r
- throw new AxisFault("", "Received null", null, null);\r
- }\r
-\r
- if (ret instanceof String)\r
- {\r
- System.err.println("Received problem response from server: " +\r
- ret);\r
- throw new AxisFault("", (String) ret, null, null);\r
- }\r
-\r
- if (!(ret instanceof DataHandler))\r
- {\r
- //The wrong type of object that what was expected.\r
- System.err.println("Received problem response from server:" +\r
- ret.getClass().getName());\r
- throw new AxisFault("",\r
- "Received problem response from server:" +\r
- ret.getClass().getName(), null, null);\r
- }\r
-\r
- //Still here, so far so good.\r
- DataHandler rdh = (DataHandler) ret;\r
-\r
- //From here we'll just treat the data resource as file.\r
- String receivedfileName = rdh.getName(); //Get the filename.\r
-\r
- if (receivedfileName == null)\r
- {\r
- System.err.println("Could not get the file name.");\r
- throw new AxisFault("", "Could not get the file name.", null,\r
- null);\r
- }\r
-\r
- if (arg.equalsIgnoreCase("medline"))\r
- {\r
- return receivedfileName;\r
- }\r
- else if (arg.equalsIgnoreCase("interpro"))\r
- {\r
- return receivedfileName;\r
- }\r
- else\r
- {\r
- System.err.println(receivedfileName);\r
- }\r
- }\r
- catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
-\r
- return "ERROR";\r
- }\r