Apache CXF—Javascript Client
This page provides an example of generating a Javascript client using the Apache CXFwsdl2js tool. See the list of tools used to generate clients in this document. You can also generate a Java client in Apache CXF.
To generate a Javascript client using the Apache CXFwsdl2js tool:
wsdl2js -d <output directory> <WSDL URL>
For example:
wsdl2js -d c:\Temp\MyJSClient http://zoolander.us.int.genesyslab.com:10080/Genesys/Interaction/WSCP_812_zoo/WebServiceCapturePoint?wsdl
The tool generates a single file that contains a proxy that can send requests to the service and receive replies asynchronously. You must also include the cxf-util.js file, which is part of Apache CXF.
The sample below does not require anything beyond HTML and Javascript (wscp.js is the file generated by wsdl2js):
<html> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="cxf-utils.js"></script> <script type="text/javascript" src="wscp.js"></script> <script language="JavaScript" type="text/javascript"> var gCounter = 0; function print_list(list, indent) { var r = ''; for(var i=0; i < list._kvitem.length; ++i) { r += indent; var pair = list._kvitem[i]; r += pair._key; if( pair._value._ValueString ) { r += " [str] = '"; r += pair._value._ValueString; r += "'"; r += "<br>"; } else if( pair._value._ValueInt ) { r += " [int] = "; r += pair._value._ValueInt; r += "<br>"; } else { r += " [list] = "; if( pair._value._ValueList ) { r += "<br>"; r += print_list(pair._value._ValueList, indent + "...."); } else { r += " EMPTY"; r += "<br>"; } } } return r; } function test() { var svc = new _iWebServiceCapturePoint(); svc.url = 'http://zoolander.us.int.genesyslab.com:10080/Genesys/Interaction/WSCP_812_zoo/WebServiceCapturePoint'; var extension = new _KVList(); var items = new Array(); var signature = new _KVPair(); signature.setKey("signature"); var signature_value = new _KVPairValue(); signature_value.setValueString("JavaScript client generated with CXF"); signature.setValue(signature_value); var counter = new _KVPair(); counter.setKey("Request count"); var counter_value = new _KVPairValue(); counter_value.setValueInt(++gCounter); counter.setValue(counter_value); items.push(signature); items.push(counter); extension.setKvitem(items); svc.Ping( function(response) { var r = "Response timestamp: " + response.getEventTime() + ", ping info:<br>"; r += print_list(response.getPingInfo(), ""); $("#response_text").html(r); }, function(status, statusText) { $("#response_text").html("Response failed: (" + status + ") " + statusText); }, extension ); } </script> </head> <body> <p>Press the button to call the service...</p> <p><input value="Ping the service" type="button" onclick="test()"/></p> <p><div id="response_text"></div></p> </body> </html>
This page was last edited on April 17, 2020, at 18:11.
Comments or questions about this documentation? Contact us for support!