package com.owlmountain.webservice.client;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import java.util.ResourceBundle;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import com.owlmountain.bean.JobInfo;
public class AnalysisEngineClient {
private String serverHome = null;
public AnalysisEngineClient() {
ResourceBundle properties =
ResourceBundle.getBundle(
"com.owlmountain.webservice.client.AnalysisEngineClient");
serverHome =
properties.getString("analysis.server.home")
+ "/services/AnalysisEngine";
}
public JobInfo submitJob(String taskName)
throws ServiceException, MalformedURLException, RemoteException {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(serverHome));
call.setOperationName("addTask");
call.addParameter("op1", XMLType.XSD_STRING, ParameterMode.IN);
QName qn = new QName("urn:AnalysisEngine", "JobInfo");
call.registerTypeMapping(
JobInfo.class,
qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(
JobInfo.class,
qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(
JobInfo.class,
qn));
call.setReturnType(qn);
return (JobInfo) call.invoke(new Object[] { new String(taskName)});
}
}