Axis 1.4 was packaged into four JAR artifacts: axis-saaj, axis-jaxrpc, axis and axis-ant (respectively named saaj.jar, jaxrpc.jar, axis.jar and axis-ant.jar in the Axis 1.4 binary distribution). In Axis 1.4.1, the axis JAR has been split into several smaller artifacts. This reduces the volume of code that needs to be added to the dependencies of an Axis based project and makes dependency management easier (provided that the project is built using Maven or a tool that can access Maven repositories). It also makes security auditing easier: e.g. the axis artifact contains the code for the SOAP monitor, which may be considered as a security risk if it is not properly disabled in production systems.
Nevertheless, Axis 1.4.1 also contains an all-in-one axis JAR that contains the same components as in Axis 1.4. This can be used as a drop-in replacement for the axis.jar from earlier versions, although it is strongly recommended to use the new modularized artifacts. The table below shows the relationships between the new modularized artifacts and the all-in-one JAR in Axis 1.4.1, and the artifacts included in Axis 1.4. Note that new components introduced in Axis 1.4.1 are not included in the all-in-one JAR.
I'm trying to consume an ASP.NET Webservice from a Java application. The java app is being built with Eclipse on a Windows box. I've installed the Webservice tools for Eclipse and I've downloaded the Axis 1.3 files and extracted all of the supporting .jar files (axis.jar, saaj.jar, etc) into my java\lib folder.
D:\axis\lib\axis.jar;D:\axis\lib\commons-discovery-0.2.jar;D:\axis\lib\commons-logging-1.0.4.jar;D:\axis\lib\jaxrpc.jar:D:\axis\lib\saaj.jar;D:\axis\lib\log4j-1.2.8.jar;C:\Program Files\Java\external-libs\xml-apis.jar;C:\Program Files\Java\external-libs\xercesImpl.jar;D:\axis\lib\wsdl4j-1.5.1.jar;D:\axis\lib\axis-ant.jar
After read other posts about this subject, I tried to move the "axis.jar" from my "lib" folder in the project to "JbossHome/standalone/lib/ext/". The error changed, but Jboss was no more able to load axis.
The NetSuite Web service implementation requires the client application to support multiple cookies on one line, as is the standard for cookies. There is a bug in Apache Axis that puts each cookie on its own line in the HTTP Headers. The patch version of the axis.jar fixes this problem. After it is downloaded, replace the existing axis.jar file in the lib directory of your Axis root directory with this version.
In order to compile the Java client I had to set up an Eclipse project. I createda project named "AxisTest", and imported the axis.jar, jaxrpc.jar, commons-logging.jar,commons-discovery.jar, and saaj.jar archives from the Axis distribution.After compiling the source file, I ran it and received data from the service. TheJava client was a success.
Deploying MonALISA as a Web Service By default the Web Service will not be deployed when you start the MonALISA Monitoring Service. If you wish to start the Web Service you need to set the following parameters in your ml.properties file: lia.Monitor.startWSDL=true lia.Monitor.wsdl_port=6004 You must then restart the MonALISA Service: cd $MonaLisa_HOME/Service/CMD ML_SER restart Firewall Requirement If you plan to access the Web Service from outside your firewall you must open TCP port 6004 (or whatever port you have set above) for incoming requests.
Once the Web Service is running try to access the following URL from a web browser: http://your_hostname:6004/axis/services/MLWebService Web Service Clients The MonALISA developers provide Web Service Clients for accessing the monitored data either from a MonALISA service or from a Web Repositoty. Three different types of clients were developed: One based on Apache AXIS, one on Apache WSIF and one on Perl SOAP:Lite modules.
All three clients are in a single tar file which can be downloaded from here. To deploy the clients download the latest tar file (currently monalisaWSClients-1.0.1.tar.gz) on the host from which you plan to access the MonALISA Web Service and untar it. Go to the created monalisaWSClients directory and run the script install.sh. It will prompt you for the Web Service URL which will be stored in a file ./conf/env.MONALISA_WS. This URL will be used as the default Web Service URL by all clients. Running the script will also create ./conf/env.JAVA_HOME.
In my case I have set: [stratos@salonica monalisaWSClients]$ ./install.sh Please enter the MonALISA Web Services URL : :6004/axis/services/MLWebServiceConfiguration completed successfully. You must then decide which clients to use. You have three choices: The Java-Axis clients, the WSIF clients or the Perl SOAP::LITE clients. Using the JAVA-AXIS Clients To use the Java-Axis Clients go to WS-Clients/Java-Axis directory. There you should find a couple of subdirectories, each for a different operation (getValues, getConfiguration). Go to one of them and run the generate_classes script: cd getValues ./generate_classes The script generate_classes invokes the WSDL2Java utility to access the WSDL file of the Web Service and create the Java packages that are needed (under ./lia/ws/ and ./ws/lia/).
Then run compile_classes to compile the Java classes, including the provided Client.java class: ./compile_classes You are now ready to run run_client (with the appropriate options) to invoke the MonALISA Web Service. The availaible options for the run_client script are listed in the Readme file, but basically the format has as follows: ./run_client FarmUnit ClusterUnit Host Parameter FromTime ToTime the FromTime and ToTime above are in milliseconds.
Example cd monalisaWSClients/WS-Clients/Java-Axis/getValues ./run_client "bnl-itd" "Master" "localhost" "Load5" -600000 0 Use my version of the Java-Axis Client Here I provide a Java class (myClient.java) which can be used instead of the Client.java class provided by monalisaWSClients.tar.gz. To download it click here: myClient.java Using the Perl SOAP::Lite Clients To use the Perl clients go to WS_Clients/Perl. The first thing you need to do is install two Perl Modules SOAP::LITE and TIME::HIRES. Two scripts install_soap_lite and install_time_hiref are provided that will install these two modules. The scripts must be run by root.
You should then go to one of the subdirectories (getValues or getConfiguration) and execute the perl script Client.pl Example ./Client.pl "bnl-itd" "Master" "localhost" "Load5" -600000 0 The arguments are the same with those used in the Java-Axis Clients. Using the Java-Axis Clients on Windows On a Windows machine, instead of running the script generate_classes, you can invoke the WSDL2Java utility manually (provided that you have Java and AXIS installed): java -cp C:\axis-1_1\lib\axis.jar;C:\axis-1_1\lib\axis-ant.jar;C:\axis-1_1\lib\commons-discovery.jar;C:\axis-1_1\lib\commons-logging.jar;C:\axis-1_1\lib\jaxrpc.jar;C:\axis-1_1\lib\log4j-1.2.8.jar;C:\axis-1_1\lib\saaj.jar;C:\axis-1_1\lib\wsdl4j.jar org.apache.axis.wsdl.WSDL2Java -v -o MonaLisa :6004/axis/services/MLWebService?wsdlParsing XML file: :6004/axis/services/MLWebService?wsdlGenerating MonaLisa\lia\ws\WSNode.javaGenerating MonaLisa\lia\ws\Result.javaGenerating MonaLisa\lia\ws\WSConf.javaGenerating MonaLisa\lia\ws\WSFarm.javaGenerating MonaLisa\lia\ws\WSCluster.javaGenerating MonaLisa\ws\lia\MLWebServiceService.javaGenerating MonaLisa\ws\lia\MLWebServiceServiceLocator.javaGenerating MonaLisa\ws\lia\MLWebService.javaGenerating MonaLisa\ws\lia\MLWebServiceSoapBindingStub.java The above creates the necessary Java packages under the directory MonaLisa (the -o option). Copy either Client.java or myClient.java in the MonaLisa directory, compile it using javac and you are ready. Current Issues with the MonALISA Web Service I currently have the following two issues with the MonALISA Web Service (I am using the version v1.0.1 of the MonALISA Service and version 1.0.1 of the Web Service Clients):