- }\r
-\r
- public String fetchDataFile(String arg, String f, String s) {\r
- if (f != null) {\r
- format = f;\r
- }\r
-\r
- if (s != null) {\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
- Object ret = call.invoke(new Object[] { arg, format, style });\r
-\r
- if (null == ret) {\r
- System.err.println("Received null ");\r
- throw new AxisFault("", "Received null", null, null);\r
- }\r
-\r
- if (ret instanceof String) {\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
- //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
- 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
- return receivedfileName;\r
- } else if (arg.equalsIgnoreCase("interpro")) {\r
- return receivedfileName;\r
- } else {\r
- System.err.println(receivedfileName);\r
- }\r
- } catch (Exception ex) {\r
- ex.printStackTrace();\r