tag:blogger.com,1999:blog-5743359.post112732492532039409..comments2023-11-02T05:03:34.235-04:00Comments on Tom Jordahl's musings: Upgrading ColdFusion MX 7 to Axis 1.3Tomhttp://www.blogger.com/profile/02008328853735352613noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-5743359.post-75358270285024992302011-03-22T14:44:26.194-04:002011-03-22T14:44:26.194-04:00Has anyone found a solution for this?Has anyone found a solution for this?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-2278005384224525662009-03-16T11:46:00.000-04:002009-03-16T11:46:00.000-04:00@Tom J - so, we haven't been able to find a soluti...@Tom J - so, we haven't been able to find a solution for this. We cannot upgrade to CF 8 until we find a solution. Any information on how to deal with the "definition of QName in Axis" problem? We don't have enough Axis or java expertise on our small dev team to solve this on our own.Aaron Longnionhttps://www.blogger.com/profile/03864976259628767766noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-3441280966722865082009-02-23T11:23:00.000-05:002009-02-23T11:23:00.000-05:00From that stack trace, it appears that the definit...From that stack trace, it appears that the definition of QName in Axis conflicts with the definition someplace else (perhaps the Java runtime).Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-56995015326291339832009-02-23T10:38:00.000-05:002009-02-23T10:38:00.000-05:00@Tom - thanks for the quick reply. Following the ...@Tom - thanks for the quick reply. Following the instructions on this blog and from Jared, I get the following error during CF start-up (CF 8.01 Enterprise Multi-server, with latest hot fixes). Do I need to refresh some type of cache as well, or something?<BR/><BR/>02/23 16:12:56 user ColdFusionStartUpServlet: ColdFusion: application services are now available<BR/>02/23 16:12:56 user CFMxmlServlet: init<BR/>02/23 16:12:56 user CFMxmlServlet: Macromedia Flex Build: 87315.134646<BR/>02/23 16:12:56 INFO Macromedia Flex Build: 87315.134646<BR/>- DDXM_S00004: Error creating JAXB Context<BR/>javax.xml.bind.JAXBException<BR/> - with linked exception:<BR/>[java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "com.sun.xml.bind.DatatypeConverterImpl.parseQName(Ljava/lang/String;Ljavax/xml/namespace/NamespaceContext;)Ljavax/xml/namespace/QName;" the class loader (instance of coldfusion/bootstrap/BootstrapClassLoader) of the current class, com/sun/xml/bind/DatatypeConverterImpl, and the class loader (instance of bootloader>) for interface javax/xml/bind/DatatypeConverterInterface have different Class objects for the type javax/xml/namespace/QName used in the signature]<BR/> at com.sun.xml.bind.ContextFactory_1_0_1.createContext(ContextFactory_1_0_1.java:56)<BR/> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<BR/> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<BR/> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<BR/> at java.lang.reflect.Method.invoke(Method.java:597)<BR/> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:143)<BR/> at javax.xml.bind.ContextFinder.find(ContextFinder.java:258)<BR/> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)<BR/> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)<BR/> at com.adobe.internal.ddxm.Executive.initContext(Executive.java:82)<BR/> at com.adobe.internal.ddxm.Executive.clinit>(Executive.java:74)<BR/> at coldfusion.document.DocumentServiceImpl.callAssemblerInitFonts(DocumentServiceImpl.java:1124)<BR/> at coldfusion.document.DocumentServiceImpl.initializeDocumentService(DocumentServiceImpl.java:210)<BR/> at coldfusion.document.DocumentServiceImpl.access$000(DocumentServiceImpl.java:51)<BR/> at coldfusion.document.DocumentServiceImpl$1.run(DocumentServiceImpl.java:172)<BR/>Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "com.sun.xml.bind.DatatypeConverterImpl.parseQName(Ljava/lang/String;Ljavax/xml/namespace/NamespaceContext;)Ljavax/xml/namespace/QName;" the class loader (instance of coldfusion/bootstrap/BootstrapClassLoader) of the current class, com/sun/xml/bind/DatatypeConverterImpl, and the class loader (instance of bootloader>) for interface javax/xml/bind/DatatypeConverterInterface have different Class objects for the type javax/xml/namespace/QName used in the signature<BR/> at com.adobe.internal.ddxm.model.impl.runtime.DefaultJAXBContextImpl.init>(DefaultJAXBContextImpl.java:50)<BR/> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<BR/> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)<BR/> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)<BR/> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)<BR/> at com.sun.xml.bind.ContextFactory_1_0_1.createContext(ContextFactory_1_0_1.java:50)Aaron Longnionhttps://www.blogger.com/profile/03864976259628767766noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-22367692086774204642009-02-23T09:49:00.000-05:002009-02-23T09:49:00.000-05:00@Aaron,I haven't tested this myself, but you shoul...@Aaron,<BR/>I haven't tested this myself, but you should be able to update your Axis jars to 1.4. The delta between 1.3 and 1.4 is small.<BR/><BR/>We haven't upgraded the CF version of Axis however because in our testing, some things break when moving past 1.2.1. However some things do work better. So upgrade at your own risk.<BR/><BR/>I will say that all of the bugs that we have fixed in the CF version of Axis 1.2.1 are also fixed in the source tree of Axis 1.x. If they got fixed after 1.4 was released, you may have to build the latest Axis source to get them. And no, I don't have a list handy, you can look through my check ins (tomj) in the SVN tree to get that list though.Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-56759649195103028492009-02-23T09:37:00.000-05:002009-02-23T09:37:00.000-05:00Hi, Does anyone know if this upgrade will work on ...Hi, <BR/><BR/>Does anyone know if this upgrade will work on CF 8.01 from Axis 1.2.1 to Axis 1.4?<BR/><BR/>In my initial tests, it's not working... but I want to know if it's not going to work or if I'm just doing something wrong? ;-)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-69956406428289469812008-12-29T16:08:00.000-05:002008-12-29T16:08:00.000-05:00I am trying to invoke a web service I am passing t...I am trying to invoke a web service I am passing the array of structure to service but it gives me the error<BR/>"Cannot perform web service invocation GetQuote.<BR/>The fault returned when invoking the web service operation is: java.lang.IllegalArgumentException: argument type mismatch"<BR/>legInfo = arrayNew(1);<BR/>legInfo[1] = structNew();<BR/>legInfo[1].PointOfDeparture = "LGA";<BR/>legInfo[1].PointOfArrival = "MIA";<BR/>legInfo[1].DepartDateTime = "2008-12-15T14:00:00.000-05:00";<BR/>legInfo[1].Duration = "10";<BR/>legInfo[1].Distance = "10";<BR/>r_varLookupQuote = createObject("webservice", "http://www.segrave.com/saiwebservices/saiquoteservice.asmx?wsdl");<BR/>ws= r_varLookupQuote.GetQuote("2508","7D82F3D4-9302-4FE4-8C07D221E2C43B2C","",#legInfo#,"lgt","Nevin","James","B","212-610-5291","212-350-7850","jnevin@digitas.com","7");Unknownhttps://www.blogger.com/profile/14297614516739470891noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-85122195593270024032008-12-29T16:01:00.000-05:002008-12-29T16:01:00.000-05:00This comment has been removed by the author.Unknownhttps://www.blogger.com/profile/14297614516739470891noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-34384579105701028592008-06-23T08:27:00.000-04:002008-06-23T08:27:00.000-04:00OK, I'm trying to consume a web service, and I get...OK, I'm trying to consume a web service, and I get an error: <BR/><BR/>"/usr/local/coldfusion7/stubs/WS-1032875873/com/bemac/vtest/ServiceCodes.java": 288. elemField.setNillable(false); <--------------------------> *** Error: No method named "setNillable" was found in type "org/apache/axis/description/ElementDesc".<BR/><BR/>I was running CF7, so applied the 7.0.1 and 7.0.2 patches. I still get the error - I thought it might have been down to the fact that AXIS was an older version on 7.0, but seeing as this hasn't fixed it, perhaps I am wrong? <BR/><BR/>Any suggestions?<BR/><BR/>Thanks in advanceAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-72669024557240285042008-04-10T01:43:00.000-04:002008-04-10T01:43:00.000-04:00Warning: if you have followed these steps to upgra...Warning: if you have followed these steps to upgrade your Axis version, the CF 8.0.1 Updater will revert your installation to Axis 1.2.1.<BR/><BR/>Cheers.MrBuzzyhttps://www.blogger.com/profile/18073740701429652237noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-51173445635542321752008-01-16T08:47:00.000-05:002008-01-16T08:47:00.000-05:00Tom,I am writing a CF application that consumes an...Tom,<BR/><BR/>I am writing a CF application that consumes an Axis 2 web service and having found issues with CF's Axis 1.2.1 tried to upgrade to version 1.4. <BR/><BR/>As I'm running CF 7.0.2 there seems to be no need to amend the jrun.properties file contained within cfmx_bootstrap.jar as the exceptions line looked ok. I stopped the CF server and copied the files axis.jar, wsdl4j-1.5.1.jar, saaj.jar and jaxrpc.jar from the Axis 1.4 download into the cfusion/lib directory overwriting the ones that where there. I restarted the CF server and tried to invoke a web service that had been previously working. However I now get the following error: coldfusion.jsp.CompilationFailedException: Errors reported by Java compiler: Found 1 semantic error compiling.......<BR/><BR/>Please can you shed some light on my problem or have I done something totally wrong?<BR/><BR/>PS The article on complex type web services and CF mentioned above can be found at <A HREF="http://web.archive.org/web/20070309173903/http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm" REL="nofollow">http://web.archive.org/web/20070309173903/http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm</A>Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-36702430778460927632007-08-30T17:25:00.000-04:002007-08-30T17:25:00.000-04:00Tom,I tried that. But maybe I did it wrong. I crea...Tom,<BR/>I tried that. But maybe I did it wrong. I created a main structure called the same name as the argument the web service is expecting, and then I created subsequent structures that are nested under the main top level structure.<BR/><BR/>When I send in the coldfusion structure of structures to the web service I get a Web service operation "name of method" with parameters {parameters} could not be found.<BR/><BR/>Then I went the hard route and created coldfusion components that matched the java beans created by wsdl2java and in the top level component (the one named the same as the web service is expecting), I instantiated all the other components. So what I ended up having when I did a cfdump was this complicated object with other objects nested inside it. After all that, I get another error, this time stating java.lang.IllegalArgumentException: argument type mismatch.<BR/><BR/>I'm not sure what else to try. I even tried sending in a coldfusion xml document that matched the example sent by the vendor (because apparently they said they were expecting xml) and that just gave me a new error The argument NAMEOFARGUMENT passed to function nameOfFunction() is not of type struct.<BR/><BR/>I know I'm missing something small, and I can't believe that ColdFusion can't interface with a .NET web service. I just don't know what I'm missing.<BR/><BR/>Help!Unknownhttps://www.blogger.com/profile/13666858998625086553noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-2359321294931090102007-08-30T16:57:00.000-04:002007-08-30T16:57:00.000-04:00Serious bummer that the excellent article about CF...Serious bummer that the excellent article about CF and complex types has gone missing.<BR/><BR/>Cheryl, using WSDL2Java is the right move. Then you need to construct a CFML structure for each JavaBean needed for the operation. You then put them all in a top level CFML struct to match the top level JavaBean that is the argument to the operation.Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-60252279270400886632007-08-28T16:25:00.000-04:002007-08-28T16:25:00.000-04:00Tom,I've scoured all over the web for solutions to...Tom,<BR/>I've scoured all over the web for solutions to my problem described by everyone that posted comments to this entry. I didn't think CF (I'm running 7.02) had any issues with complex types but trying to construct the cfml correctly to match the java objects that Axis is creating from the WSDL is proving to be quite a task.<BR/><BR/>I used the WSDL2Java utility to create the java code so I can inspect it. I've since found out that the method that I post to in the web service in question takes a complex input (a named class) that I can't duplicate because it makes use of other named classes.<BR/><BR/>Is there another solution? I also tried to access the link that goes to <A HREF="http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm" REL="nofollow">http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm</A>, but apparently it's no longer available.Unknownhttps://www.blogger.com/profile/13666858998625086553noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-62458932375533757282007-08-28T16:22:00.000-04:002007-08-28T16:22:00.000-04:00This comment has been removed by a blog administrator.Unknownhttps://www.blogger.com/profile/13666858998625086553noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-53034977168896497692007-07-26T23:20:00.000-04:002007-07-26T23:20:00.000-04:00would you mind sharing with me your 1.1 Web servic...would you mind sharing with me your 1.1 Web service tbat acts as a bridge between cf6 and .NET 2.0?<BR/><BR/>thanks so much!<BR/>TomAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-86250159694635577912007-02-15T09:19:00.000-05:002007-02-15T09:19:00.000-05:00Prash,Of course ColdFusion can handle complex argu...Prash,<BR/><BR/>Of course ColdFusion can handle complex argument types. You just have to make sure you are constructing the CFML correctly to match the Java objects that Axis is creating from the WSDL. Check out <A HREF="http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm" REL="nofollow">this posting</A> for a great article.Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-27700520735308643552007-02-15T06:42:00.000-05:002007-02-15T06:42:00.000-05:00Hi Tom,Subject: Coldfusion client not able to invo...Hi Tom,<BR/><BR/><B>Subject: Coldfusion client not able to invoke .NET web service</B><BR/><BR/>I always doubted whether coldfusion can handle/map complex of a complex data as a input to a web service methods.<BR/>I have coldfusion 7.0.2 developer verison and I am trying to invoke a .net web service method.<BR/>I always get the error web service operation [methodname] could not be found.<BR/><BR/>I tried invoking all other methods that take simple input parameter, simple structures, but when it comes to structures within arrays within structures, it just gives the above errors.<BR/>I really doubt the arrays are not being properly handled here.<BR/><BR/>Can you please let me know if you have any thoughts on handling arrays of objects to construct the input parameter.<BR/><BR/>Thanks for reading and your time.<BR/><BR/>Regards,<BR/>PrashantPrashhttps://www.blogger.com/profile/02298769537647521324noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1162831260446789562006-11-06T11:41:00.000-05:002006-11-06T11:41:00.000-05:00Andy,Yes, that error is unrelated to updating the ...Andy,<BR/><BR/>Yes, that error is unrelated to updating the Axis version in CFMX7.Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1162829888900695072006-11-06T11:18:00.000-05:002006-11-06T11:18:00.000-05:00Perhaps this is unrelated. I'm trying to consume a...Perhaps this is unrelated. I'm trying to consume a simple .NET web service and I get: AxisFault<BR/>: SimpleDeserializer encountered a child element, which is NOT expected. <BR/>The .NET Web Service functions correctly when invoked directly with the browser.<BR/><BR/>-AndyAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1157062875860451962006-08-31T18:21:00.000-04:002006-08-31T18:21:00.000-04:00This fix is in CFMX 7.0.2 so that release should w...This fix is in CFMX 7.0.2 so that release should work for Axis 1.3 and 1.4.Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1156233325681683342006-08-22T03:55:00.000-04:002006-08-22T03:55:00.000-04:00Tom,Are you going to attempting the same thing for...Tom,<BR/><BR/>Are you going to attempting the same thing for Axis 1.4??Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1154551337835015582006-08-02T16:42:00.000-04:002006-08-02T16:42:00.000-04:00Sorry that you are having trouble with CFMX 6.1. ...Sorry that you are having trouble with CFMX 6.1. <BR/><BR/>Perhaps this would be a perfect opportunity to justify an upgrade to CFMX 7.0.2, which should support consuming your web services.<BR/><BR/>Why are you stuck on the (very old) 6.1?Tomhttps://www.blogger.com/profile/02008328853735352613noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1154549047831188772006-08-02T16:04:00.000-04:002006-08-02T16:04:00.000-04:00Peter -- Unfortunately I have not found any inform...Peter -- Unfortunately I have not found any information that would instruct me on how to upgrade Axis in CFMX 6.1, but have worked around this problem in a fantastically unelegant manner. What I have done is create a .NET 1.1 WebService whose job in life is to act as a bridge between CFMX 6.1 and a .NET 2.0 WebService. So CFMX consumes the 1.1 WebService, and the 1.1 WebService consumes the 2.0 WebService in turn. It's a lot of overhead and I am definitely not happy with it, but it does work reliably.Granthttps://www.blogger.com/profile/10471369531786132077noreply@blogger.comtag:blogger.com,1999:blog-5743359.post-1150492722115554482006-06-16T17:18:00.000-04:002006-06-16T17:18:00.000-04:00Tom, Grant - I too am running CFMX 6.1 and am havi...Tom, Grant - <BR/><BR/>I too am running CFMX 6.1 and am having the same problem as you are Grant. Did you upgrade the Axis engine and if so, did it resolve the problem?<BR/><BR/>Thanks, PeterAnonymousnoreply@blogger.com