Hace unos días tuve que participar en un proyecto
con algo muy pequeño que básicamente consiste en consumir un servicio web con
varios métodos. En principio esto no debería traer ningún problema ya que simplemente
desde GeneXus ejecuto el WSDL Inspector y listo.
El problema estaba a la hora de compilar ya que
me daba error de métodos duplicados, por ej. Existía un método llamado
"TienePermiso" que a la hora de compilar me decía que ya estaba definido.
Compiling plogin.java
.\Sdtuy_Gup_wsdl__wsGup.java:182: tienepermiso(SdtTienePermiso_Param) is already defined in Sdtuy_Gup_wsdl__wsGup
public SdtTienePermiso_Result tienepermiso( SdtTienePermiso_Param gxTp_TienePermiso_Param )
^
1 error
NMAKE : fatal error U1077: 'C:\SoftGXJava\java16\bin\javac.exe' : return code '0x1'
Stop.
Compiling plogin.java
.\Sdtuy_Gup_wsdl__wsGup.java:182: tienepermiso(SdtTienePermiso_Param) is already defined in Sdtuy_Gup_wsdl__wsGup
public SdtTienePermiso_Result tienepermiso( SdtTienePermiso_Param gxTp_TienePermiso_Param )
^
1 error
NMAKE : fatal error U1077: 'C:\SoftGXJava\java16\bin\javac.exe' : return code '0x1'
Stop.
Realmente estuve un par de días que no encontraba
la causa por lo que ya estaba desarrollando el consumo de estos servicios a
mano hasta que el proveedor del servicio me comento que el wsdl tenía la
definición en Soap 1.1 y Soap1.2. Mi sorpresa era que no tenía idea que
se podía hacer esto y menos que el WSDL Inspector lo iba a consumir sin
problemas pero que me iba a dar error recién en la compilación.
Después de luchar un rato solo me quedaba
modificar el archivo ARI y el XML que se genera cuando se usa el WSDL
Inspector, en mi caso uso GeneXus 9.0 por lo que los archivos se encontraban
bajo la carpeta kbdata.
En síntesis borre del archivo lo que estaba
duplicado, regenere y la aplicación quedo funcionando sin problemas. No
tengo claro si en GeneXus Ev. 1 pasa esto pero lo dejo documentado por si
alguien sigue trabajando con GeneXus 9.0.
No hay comentarios.:
Publicar un comentario