Four Js Development Tools Forum

Discussions by product => GWS => Topic started by: Michael L. on January 07, 2010, 04:45:27 pm



Title: Web services not functioning with Genero 2.21
Post by: Michael L. on January 07, 2010, 04:45:27 pm
We have recently updated our development environment with Genero 2.21 (package with web services) and since then, all our web service calls crash with an error such as:

 FORMS statement error number -1260.
 It is not possible to convert between the specified types.

The module it crashes in is one that is created with the fglwsdl tool from a .wsdl file, and the line on which it crashes is always on the bolded line of the code below:
    #
    # Stax request
    #
    TRY
      LET writer = request.beginXmlRequest()
      CALL WSHelper_WriteStaxSOAP11StartEnvelope(writer)
      CALL WSHelper_WriteStaxSOAP11StartBody(writer)
      CALL xml.Serializer.VariableToStax(GetThumbnailRequest,writer)
      CALL WSHelper_WriteStaxSOAP11EndBody(writer)
      CALL WSHelper_WriteStaxSOAP11EndEnvelope(writer)
      CALL request.endXmlRequest(writer)
    CATCH
      LET wsstatus = STATUS
      CALL WSHelper_FillSOAP11WSError("Client",SQLCA.SQLERRM)
      RETURN wsstatus
    END TRY

The writer object/variable is defined by the fglwsdl tool as:
 
  DEFINE writer     xml.StaxWriter

All of the web services we have been trying in 2.21 were working in 2.20.

Anyone have any idea why this is happening?

Thanks,

Mike Laporte
Versaterm Inc.


Title: Re: Web services not functioning with Genero 2.21
Post by: . on January 07, 2010, 05:41:00 pm
Hi Michael,

This kind of error can occur if a "wrong" library is loaded. In your case, maybe a 2.20 library is used in your 2.21 environment.
Could you try a clean install of 2.21 ? (by "clean" installation I mean an installation in a folder where no product was installed before). Do you still get the problem ? 

By the way, what is your OS ?

Best regards,
Guney
 


Title: Re: Web services not functioning with Genero 2.21
Post by: Michael L. on January 07, 2010, 08:21:22 pm
Hi Guney,

Thanks for the reply.

The 2.21 version was installed into a fresh directory to start with (actually named genero-2.21.01.dev).  I am looking at library paths right now to see if it could possibly be loading the wrong library, every looks alright, but I'll need to look at it a little more closely as we have alot of paths in there!  I'll post another reply with what I find.

The OS we are using this on is AIX 5.3.3.

Thanks!

-Mike


Title: Re: Web services not functioning with Genero 2.21
Post by: Michael L. on January 07, 2010, 10:17:57 pm
The problem has been resolved, but I'm not sure why it occurred in the first place or how this resolves problem technically.

When we installed the new version, we installed it once for development, licensed it and then copied the whole directory to a runtime version, and re-licensed that version so that we could run our application.  When the copy was done, we had not preserved the properties of the files and so the symbolically linked files were brought over as copies of the files they were linked to, rather than links.  To me, that should have worked as well as the symbolic links, but for some reason it did not.  I copied the directory again, this time preserving all properties of the files and now the problem has been cleared up.

I think our new M.O. for installing the runtime version will be to re-run the installation script a second time rather than copying directories around :) .

Thanks,

Michael Laporte


Title: Re: Web services not functioning with Genero 2.21
Post by: . on January 14, 2010, 12:13:41 pm
Hi,

Just a few precision on the reason of this issue:

If we copy an installation directory in another place, without using the installer, the files copied will get rights dependant from the umask. So it can change the loaded libraries rights.
Moreover, the GWS install contains some symbolik links that should be saved. In fact, the problem occurs because if we have in the code an import COM, it will also load the libxml.so library since there is a dependency. Then if we do an IMPORT xml, the xml.so library will be loaded. If this library is a symbolik link, it will be ok, but if it's a real library, we will have two libraries in memory and according to the order the system will find them with, the FGL will see both of them when comparing the types and finally sends the error -1260.

IMPORTANT: you have to keep the symbolik links when you copy with the option cp -R and not cp -r

Best regards,
Guney