Los Web Services son una herramienta fundamental en el desarrollo de aplicaciones SOA, pues le da a terceros la posibilidad de llamar a alguna parte de nuestro sistema.
En Netbeans es facil crear un nuevo WebService... sin embargo, a raiz de la actualizacion de un modulo... no estan funcionando bien, al menos a mi, no me generaba el archivo jaxws-build.xml ni me lo incluia en el build.xml.
Bueno lo que tuve que hacer fue escribir estos archivos a mano.... pero como la neta no se nada de ANT... ( debo de empezar a meterme a Eclipse..) pues me base en otros archivos que ya tenia... asi que su archivo debe quedar de la siguiente manera
jaxws-build.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xalan="http://xml.apache.org/xslt" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1"> <target name="wsgen-init" depends="init, -do-compile"> <mkdir dir="${build.generated.dir}/wsgen/service"/> <mkdir dir="${build.generated.dir}/wsgen/service/resources/"/> <mkdir dir="${build.generated.dir}/wsgen/binaries"/> <mkdir dir="${build.classes.dir}"/> <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen"> <classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/> </taskdef> </target> <target name="wsgen-nombreDelWebService" depends="wsgen-init"> <wsgen fork="true" xendorsed="true" sourcedestdir="${build.generated.dir}/wsgen/service" resourcedestdir="${build.generated.dir}/wsgen/service/resources/" destdir="${build.generated.dir}/wsgen/binaries" keep="true" genwsdl="true" sei="com.core.web"> <classpath path="${java.home}/../lib/tools.jar:${build.classes.dir}:${j2ee.platform.wsgen.classpath}:${javac.classpath}"/> <jvmarg value="-Djava.endorsed.dirs=${jaxws.endorsed.dir}"/> </wsgen> </target> <target name="wsgen-service-compile" depends="wsgen-nombreDelWebService"> <webproject2:javac srcdir="${build.generated.dir}/wsgen/service" classpath="${j2ee.platform.wsimport.classpath}:${javac.classpath}" destdir="${build.classes.dir}"/> </target> </project>
Luego tenemos que poner este otro codigo en el archivo build.xml, escribo las lineas de arriba y de abajo como referencia, va casi cuando inicia el documento
<project ... <import file="jaxws-build.xml"/> <import file="ant-deploy.xml"/>
Esto va en compilation section, en mi caso solo decia -post-compile y no dependia de wsgen-service-compile
<target depends="wsgen-service-compile" name="-post-compile"> <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> </target>
Espero que le haya servido a alguien, por que realmente esto me atraso unos dias...
1 comentario:
Hola, sabes cual modulo es el que le dio en la madre a netbeans??? actualmente medio solucione el problema, me refiero a que ya crea los artefactos, solo que netbeans me marca error al llamar los metodos
Publicar un comentario