École franco-maghrébine 2003 | WebServices | 13-17 octobre 2003 |
tp1d |
Vous pouvez essayer d'appeler les WS des autres postes de travail.
Il faut configurer votre environnement pour compiler les clients WS.
Vous pouvez créer un fichier "setenv.bat" dans "tps" avec le contenu suivant :
rem initialisation du CLASSPATH set AXIS_HOME=C:\axis set AXIS_LIB=%AXIS_HOME%\lib set DOM4J_HOME=C:\dom4j set DOM4J_LIB=%DOM4J_HOME% set XERCES_HOME=C:\xerces set XERCES_LIB=%XERCES_HOME% set AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar set AXISCLASSPATH=%AXISCLASSPATH%;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar set AXISCLASSPATH=%AXISCLASSPATH%;%AXIS_LIB%\wsdl4j.jar set CLASSPATH=%CLASSPATH%;%AXISCLASSPATH% set CLASSPATH=%CLASSPATH%;%XERCES_LIB%\xml-apis.jar;%XERCES_LIB%\xercesImpl.jar;%XERCES_LIB%\xercesSamples.jar set CLASSPATH=%CLASSPATH%;%DOM4J_LIB%\dom4j-full.jar
Dom4j est une librairie utilisée dans la suite du tp.
Xerces est un parseur xml utilisée dans la suite du tp.
Pour installer ces produits, présents sur le cd-rom, utiliser la même procédure que axis (en excluant le déploiement dans Tomcat).
Ne pas oublier d'exécuter cette commande dans l'invite de commandes à chaque fois que nécessaire.
Contenu du fichier tp1d/CarteDeVisiteClient.java.
package tp1d; import org.apache.axis.client.*; import javax.xml.namespace.QName; public class CarteDeVisiteClient { public static void main(String [] args) { try { String endpointURL = "http://localhost:8080/axis/CarteDeVisite.jws"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpointURL) ); call.setOperationName( new QName("CarteDeVisite", "carteDeVisite") ); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING ); String ret = (String) call.invoke( new Object[] { } ); System.out.println("R‚sultat : " + ret); } catch (Exception e) { System.err.println(e.toString()); } } }
Contenu du fichier tp1d/CarteDeVisiteClient2.java.
package tp1d; import org.apache.axis.client.*; import javax.xml.namespace.QName; public class CarteDeVisiteClient2 { public static void main(String [] args) { try { String endpointURL = "http://localhost:8080/axis/services/CarteDeVisite2"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpointURL) ); call.setOperationName( new QName("CarteDeVisite2", "carteDeVisite") ); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING ); String ret = (String) call.invoke( new Object[] { } ); System.out.println("R‚sultat : " + ret); } catch (Exception e) { System.err.println(e.toString()); } } }
Ouvrir un invite de commandes dans le dossier "tps".
javac tp1d/*.java java tp1d.CarteDeVisiteClient java tp1d.CarteDeVisiteClient2
École franco-maghrébine 2003 | WebServices | 13-17 octobre 2003 |