TableOfContents.doc in $NX_ROOT/samples/sdk/websvc elenca vari programmi Java di esempio.
Ciascun programma di esempio contiene note su come può essere compilato ed eseguito utilizzando i file di script run_java_test_bat.txt (Windows) e run_java_test_sh.txt (UNIX). Questi script dimostrano come utilizzare org.apache.axis.wsdl.WSDL2Java per generare i file stub lato cliente dei servizi Web di CA SDM.
Il parametro –w è richiesto per generare correttamente i file stub quando si usa Axis 1.4. L'esecuzione di WSDL2Java come mostrato genera i file stub nella sottodirectory com/ca/www/UnicenterServicePlus/ServiceDesk. Vengono creati i seguenti file:
Importare queste classi con la seguente istruzione:
import com.ca.www.UnicenterServicePlus.ServiceDesk.*;
Molti metodi di servizi Web hanno parametri del tipo ArrayOfString, una classe proprietaria. Per esempio, per attrVals del metodo createRequest(), propertyValues e parametri di attributi sono tutti parametri ArrayOfString.
Per impostare i valori in una variabile ArrayOfString, instanziare la variabile e utilizzare setString() come segue:
ArrayOfString attrVals = new ArrayOfString();
attrVals.setString(new String[]{"cliente", customerHandle, "descrizione", "testo descrizione"});
Per impostarlo come vuoto
attrVals.setString(new String[0]);
Utilizzare una variabile del tipo ListResult, un'altra classe proprietaria, come valore restituito dai metodi List: doQuery(), getRelatedList(), getNotificationsForContact(), getPendingChangeTaskListForContact() e getPendingIssueTaskListForContact(). Una ListResult contiene gli elementi listHandle e listLength, che possono essere recuperati utilizzando getListHandle() e getListLength() come mostrato in questo esempio:
ListResult doQueryResult = new ListResult(); doQueryResult = USPSD.doQuery(sid, "iss", "active = 1"); int listHandle = doQueryResult.getListHandle(); int listLength = doQueryResult.getListLength();
Il metodo getListValues() utilizza listHandle, recuperando i valori da un sottoinsieme dell'elenco.
Il parametro Handles del metodo freeListHandles() è un ArrayOfInt, un'altra classe proprietaria. Richiamare freeListHandles() utilizzando listHandle preso da ListResult:
ArrayOfInt handleList = new ArrayOfInt();
handleList.setInteger(new java.lang.Integer []{ new java.lang.Integer(listHandle) });
USPSD.freeListHandles(sid, handleList);
Alcuni metodi hanno parametri pass by reference del tipo javax.xml.rpc.holders.StringHolder. Per esempio, createRequest() ha due parametri di questo tipo, NewRequestHandle e NewRequestNumber.
StringHolder NewRequestNumber = new StringHolder(); StringHolder NewRequestHandle = new StringHolder(); Risultato stringa; result = USPSD.createRequest(sid, creatorHandle, attrVals, propertyValues, template, attributes, NewRequestHandle, NewRequestNumber);
Request’s handle e reference number (ref_num) possono essere ottenuti da NewRequestHandle.value e NewRequestNumber.value rispettivamente.
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|