TableOfContents.doc em $NX_ROOT/samples/sdk/websvc lista vários programas de amostra Java.
Cada programa de amostra contém observações sobre como pode ser compilado e executado com o uso de arquivos de script run_java_test_bat.txt (Windows) e run_java_test_sh.txt (UNIX). Esses scripts mostram como usar org.apache.axis.wsdl.WSDL2Java para gerar arquivos stub do lado do cliente dos serviços web do CA SDM.
O parâmetro –w é solicitado para gerar corretamente os arquivos stub ao usar o Axis 1.4. A execução de WSDL2Java conforme mostrado gerará os arquivos stub no subdiretório com/ca/www/UnicenterServicePlus/ServiceDesk. Os arquivos a seguir são gerados:
Importe estas classes com a seguinte instrução:
import com.ca.www.UnicenterServicePlus.ServiceDesk.*;
Muitos métodos de serviço web têm parâmetros do tipo ArrayOfString, uma classe proprietária. Por exemplo, createRequest() method’s attrVals, propertyValues e parâmetros de atributos são todos parâmetros ArrayOfString.
Para definir os valores em uma variável ArrayOfString, instancie a variável e use setString() conforme segue:
ArrayOfString attrVals = new ArrayOfString();
attrVals.setString(new String[]{"customer", customerHandle, "description", "description text"});
Para defini-la como vazio
attrVals.setString(new String[0]);
Use uma variável do tipo ListResult, outra classe proprietária, como um valor de retorno dos métodos List: doQuery(), getRelatedList(), getNotificationsForContact(), getPendingChangeTaskListForContact() e getPendingIssueTaskListForContact(). Uma ListResult contém elementos listHandle e listLength, que podem ser recuperados com o uso de getListHandle() e getListLength(), como mostrado neste exemplo:
ListResult doQueryResult = new ListResult(); doQueryResult = USPSD.doQuery(sid, "iss", "active = 1"); int listHandle = doQueryResult.getListHandle(); int listLength = doQueryResult.getListLength();
O método getListValues() usa listHandle, recuperando os valores de um subconjunto da lista.
O parâmetro Handles do método freeListHandles() é um ArrayOfInt, outra classe proprietária. Chame freeListHandles() usando listHandle obtido de um ListResult:
ArrayOfInt handleList = new ArrayOfInt();
handleList.setInteger(new java.lang.Integer []{ new java.lang.Integer(listHandle) });
USPSD.freeListHandles(sid, handleList);
Alguns métodos são passados por parâmetros de referência do tipo javax.xml.rpc.holders.StringHolder. Por exemplo, createRequest() tem dois parâmetros desse tipo, NewRequestHandle e NewRequestNumber.
StringHolder NewRequestNumber = new StringHolder(); StringHolder NewRequestHandle = new StringHolder(); String result; result = USPSD.createRequest(sid, creatorHandle, attrVals, propertyValues, template, attributes, NewRequestHandle, NewRequestNumber);
O identificador e o número de referência de Request (ref_num) podem ser obtidos respectivamente de NewRequestHandle.value e NewRequestNumber.value.
| Copyright © 2012 CA. Todos os direitos reservados. | Enviar email à CA Technologies sobre este tópico |