You are on page 1of 4

AXIS2

Myant.bat set ANT_HOME=d:\JavaApp\apache-ant-1.8.1 set JAVA_HOME=c:\Program Files\Java\jdk1.6.0_20 %ANT_HOME%\bin\ant.bat -buildfile %1 %2 log4j.properties log4j.rootCategory=INFO, CONSOLE log4j.logger.org.apache.axis2.enterprise=FATAL log4j.logger.de.hunsicker.jalopy.io=FATAL log4j.logger.httpclient.wire.header=FATAL log4j.logger.org.apache.commons.httpclient=FATAL log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=axis2.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n services.xml <service name="FeetService" scope="application" > <description> Feet Service </description> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> <parameter name="ServiceClass"> feet.FeetService </parameter> </service>

FeetClient.java import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; import java.util.Scanner; //import org.apache.log4j.*; public class FeetClient { //static Logger logger = Logger.getLogger(CmmdcClient.class); public static void main(String[] args) throws AxisFault { RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/FeetService"); options.setTo(targetEPR); Scanner scanner=new Scanner(System.in); System.out.println("cm:"); Long m=new Long(scanner.next()); QName opGetFeet = new QName("http://feet", "getFeet"); Object[] opGetFeetArgs = new Object[] {m }; Class[] returnTypes = new Class[] { String.class }; Object[] response = serviceClient.invokeBlocking(opGetFeet, opGetFeetArgs, returnTypes); String result = (String) response[0]; if (result == null) { System.out.println("No result"); } else{ System.out.println("rez:"+result); } } }

Build.xml <project name="axis2" default="help" basedir="."> <property name="axis2-home" location="d:\lucru\axis2-1.5.4"/> <property name="service-class" value="feet.FeetService" /> <property name="client-class" value="FeetClient" /> <property name="package-name" value="feet" /> <property name="log4j_file_path" location="D:\lucru\apache-log4j-1.2.16" /> <property name="log4j_file" value="log4j-1.2.16.jar" /> <path id="axis.classpath"> <fileset dir="${axis2-home}/lib"> <include name="*.jar"/> </fileset> <pathelement path="${basedir}" /> <pathelement path="${log4j_file_path}/${log4j_file}" /> </path> <target name="help"> <echo message="Axis2 Web service generator - POJO model "/> <echo message="----------------------------------------------------------------"/> <echo message=" Targets "/> <echo message="---------------------------------------------------------"/> <echo message="1. generate.service : Generatate the aar service files. " /> <echo message="2. generate.wsdl : Generatate the WSDL service file. " /> <echo message="3. client : Compile and run the client files."/> <echo message="---------------------------------------------------------"/> </target> <target name="compile"> <mkdir dir="${basedir}/build" /> <mkdir dir="${basedir}/build/META-INF" /> <javac classpathref="axis.classpath" srcdir="${basedir}/${package-name}" destdir="${basedir}/build" includeantruntime="false"/> </target> <target name="generate.service" depends="compile" > <copy toDir="${basedir}/build/META-INF" > <fileset dir="${basedir}/META-INF"> <include name="**/*.xml"/> </fileset> </copy> <jar destfile="${basedir}/${package-name}.aar"> <fileset dir="${basedir}/build"/> </jar>

</target> <target name="generate.wsdl" depends="compile"> <taskdef name="java2wsdl" classname="org.apache.ws.java2wsdl.Java2WSDLTask" classpathref="axis.classpath"/> <java2wsdl className="${service-class}" outputLocation="${basedir}" targetNamespace="http://${package-name}/" schemaTargetNamespace="http://${package-name}/xsd"> <classpath> <pathelement path="${axis.classpath}"/> <pathelement location="${basedir}/build"/> </classpath> </java2wsdl> </target> <target name="client" > <javac classpathref="axis.classpath" includeantruntime="false" srcdir="${basedir}" destdir="." /> <java classname="${client-class}" fork="true" > <classpath refid="axis.classpath" /> </java> </target> </project>

FeetService.java package feet; public class FeetService{ public String getFeet(long m) { double inch=Math.round(m*0.3937); int feet=(int)Math.floor(inch/12); int rinch=(int)inch-feet*12; return(feet+"picioare si "+rinch+" inchi"); } }

You might also like