3.2.2 Apache Axis for Java Web Service Client Programming Toolkit
SALT supports the AXIS wsdl2java utility which generates java stub code from the WSDL document. The AXIS Web service programming model is similar to WebLogic.
Tip:
- Use the AXIS specific WSDL document for HTTP MIME attachment support
SALT supports HTTP MIME transportation for Oracle Tuxedo
CARRAYdata. A special option must be specified for WSDL online downloading and thetmwsdlgenutility.Online Download:
http://salt.host:portnumber//wsdl?mappolicy=raw&toolkit=axistmwsdlgenUtilitytmwsdlgen -c WSDF_FILE -m raw -t axis - Disable multiple-reference format in AXIS when RPC/encoded style is used
TuxedoWebServiceLocator service = new TuxedoWebServiceLocator(); service.getEngine().setOption("sendMultiRefs", false);¦ - Use Apache Sandensha project with SALT for WS-ReliableMessaging communication.
Interoperability has been tested for WS-ReliableMessaging between SALT and the Apache Sandensha project. The Sandensha asynchronous mode and
send offermust be set in the code.A sample Apache Sandensha asynchronous mode and
send offercode example is shown in the example below:
Example 3-4 Sample Apache Sandensha Asynchronous Mode and “send offer” Code Example
/* Call the service */
TuxedoWebService service = new TuxedoWebServiceLocator();
Call call = (Call) service.createCall();
SandeshaContext ctx = new SandeshaContext();
ctx.setAcksToURL("http://127.0.0.1:" + defaultClientPort + "/axis/services/RMService");
ctx.setReplyToURL("http://127.0.0.1:" + defaultClientPort + "/axis/services/RMService");
ctx.setSendOffer(true);
ctx.initCall(call, targetURL, "urn:wsrm:simpapp", Constants.ClientProperties.IN_OUT);
call.setUseSOAPAction(true);
call.setSOAPActionURI("ToUpperWS");
call.setOperationName(new javax.xml.namespace.QName("urn:pack.simpappsimpapp_typedef.salt11", "ToUpperWS"));
call.addParameter("inbuf", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
String input = new String();
String output = new String();
int i;
for (i = 0; i < 3; i++ ) {
input = "request" + "_" + String.valueOf(i);
System.out.println("Request:"+input);
output = (String) call.invoke(new Object[]{input});
System.out.println("Reply:" + output);
}
ctx.setLastMessage(call);
input = "request" + "_" + String.valueOf(i);
System.out.println("Request:"+input);
output = (String) call.invoke(new Object[]{input});Parent topic: SALT Web Service Client Programming Tips