In "TableOfContents.doc" unter "$NX_ROOT/samples/sdk/websvc" sind mehrere Java-Beispielprogramme aufgelistet.
Jedes Beispielprogramm enthält Hinweise zur Kompilierung und Ausführung anhand der Skriptdateien "run_java_test_bat.txt" (Windows) bzw. "run_java_test_sh.txt" (UNIX). Diese Skripts zeigen, wie "org.apache.axis.wsdl.WSDL2Java" zum Generieren der clientseitigen Stub-Dateien für CA SDM-Webservices verwendet wird.
Wenn Axis 1.4 verwendet wird, ist der Parameter "-w" erforderlich, damit die Stub-Dateien korrekt generiert werden. Wenn WSDL2Java entsprechend den Anweisungen ausgeführt wird, werden die Stub-Dateien im Unterverzeichnis "com/ca/www/UnicenterServicePlus/ServiceDesk" generiert. Die folgenden Dateien werden generiert:
Importieren Sie diese Klassen mit der folgenden Anweisung:
import com.ca.www.UnicenterServicePlus.ServiceDesk.*;
Viele Webservices-Methoden haben Parameter vom Typ "ArrayOfString", einer proprietären Klasse. Zum Beispiel sind das "attrVals" der "createRequest()"-Methode, "propertyValues" und Attributparameter "ArrayOfString"-Parameter.
Um die Werte in einer "ArrayOfString"-Variablen festzulegen, instanziieren Sie die Variable, und verwenden Sie dann "setString()" folgendermaßen:
ArrayOfString attrVals = new ArrayOfString();
attrVals.setString(new String[]{"customer", customerHandle, "description", "description text"});
So wird die Variable auf leer festgelegt:
attrVals.setString(new String[0]);
Verwenden Sie eine Variable des Typs "ListResult", einer weiteren proprietären Klasse, als Rückgabewert für die Listenmethoden "doQuery()", "getRelatedList()", "getNotificationsForContact()", "getPendingChangeTaskListForContact()" und "getPendingIssueTaskListForContact()". Ein "ListResult" enthält "listHandle"- und "listLength"-Elemente, die wie im Beispiel gezeigt mit "getListHandle()" und "getListLength()" abgerufen werden können:
ListResult doQueryResult = new ListResult(); doQueryResult = USPSD.doQuery(sid, "iss", "active = 1"); int listHandle = doQueryResult.getListHandle(); int listLength = doQueryResult.getListLength();
Die "getListValues()"-Methode verwendet "listHandle", wobei die Werte aus einer Teilmenge der Liste abgerufen werden.
Der Parameter "Handles" der "freeListHandles()"-Methode ist ein" ArrayOfInt", eine weitere proprietäre Klasse. Rufen Sie "freeListHandles()" anhand des "ListHandle" aus einem "ListResult" auf:
ArrayOfInt handleList = new ArrayOfInt();
handleList.setInteger(new java.lang.Integer []{ new java.lang.Integer(listHandle) });
USPSD.freeListHandles(sid, handleList);
Einige Methoden haben Pass-By-Reference-Parameter des Typs "javax.xml.rpc.holders.StringHolder". So hat z. B. "createRequest()" zwei Parameter diesen Typs, "NewRequestHandle" und "NewRequestNumber".
StringHolder NewRequestNumber = new StringHolder(); StringHolder NewRequestHandle = new StringHolder(); String result; result = USPSD.createRequest(sid, creatorHandle, attrVals, propertyValues, template, attributes, NewRequestHandle, NewRequestNumber);
Das Handle und die Referenznummer (ref_num) der Anforderung können dem "NewRequestHandle.value" bzw. dem "NewRequestNumber.value" entnommen werden.
| Copyright © 2012 CA. Alle Rechte vorbehalten. | Senden Sie CA Technologies eine E-Mail zu diesem Thema. |