Die Web-Service-Schnittstelle des Job-Schedulers wird verwendet, um einen Stapeljob programmgesteuert zu übergeben und zu bearbeiten.
Vorbereitende Schritte
Der Job-Scheduler unterstützt den programmgesteuerten Zugriff auf seine Funktionen über eine EJB-Schnittstelle für Java-EE-Anwendungen (Java™ Platform,
Enterprise Edition) und eine Web-Service-Schnittstelle für Java-EE-Anwendungen und für Anwendungen, die keine Java-EE-Anwendungen sind. Ein WSDL-Dokument (Web Services Description
Language) beschreibt die Web-Service-Schnittstelle für den Job-Scheduler.
Entwickeln und installieren
Sie Ihre Stapelanwendung.
Informationen zu diesem Vorgang
In diesem Artikel wird beschrieben, wie ein
Stapeljob
an den Job-Scheduler übergeben wird.
Der Artikel enthält ein Codebeispiel, das veranschaulicht, wie die Web-Service-Schnittstelle des
Job-Schedulers aufgerufen wird.
Vorgehensweise
- Erstellen Sie ein Programm für die Übergabe von Stapelarbeit.
Das folgende Beispiel veranschaulicht, wie die Web-Service-Schnittstelle des Job-Schedulers
aufgerufen wird, um einen Stapeljob zu übergeben.
Einige Anweisungen sind zur besseren Lesbarkeit auf mehrere Zeilen verteilt.
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
Call call = null;
String lrsHostName = "localhost";
String lrsPort = "9080";
private String readXJCL() throws FileNotFoundException, IOException {
// Code zum Lesen der xJCL-Datei in eine Zeichenfolge (String)
}
public void submitJob() {
String endPoint =
"http://"+lrsHostName+":"+lrsPort+"/LongRunningJobSchedulerWebSvcRouter/
services/JobScheduler";
try {
ServiceFactory serviceFactory = ServiceFactory.newInstance();
Service service = serviceFactory.createService(new
QName("http://longrun.websphere.ibm.com", "JobSchedulerService"));
call = (Call) service.createCall();
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,
"http://schemas.xmlsoap.org/soap/encoding/");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "wrapped");
call.setPortTypeName(new
QName("http://longrun.websphere.ibm.com", "JobSchedulerService"));
call.setTargetEndpointAddress(endPoint);
// Alle Parameter aus dem call-Objekt entfernen
call.removeAllParameters();
call.setReturnType(XMLType.SOAP_STRING, null);
call.addParameter("arg", XMLType.SOAP_STRING, ParameterMode.IN);
call.setOperationName(new QName("http://longrun.websphere.ibm.com","submitJob"));
String xjcl = readXJCL(); // Method to read xJCL file into a string
call.invoke(new Object[] {xjcl});
} catch (ServiceException se) {
System.out.println("Service Exception: " + se.getMessage());
se.printStackTrace();
} catch (java.rmi.RemoteException re) {
System.out.println("Remote Exception: " + re.getMessage());
re.printStackTrace();
}
}
- Führen Sie das Programm aus, um Stapelarbeit zu übergeben.