Hi Guys,
I took a peek at the codebase. There are no hardcoded values for
webservices. I do have a clue what is going on. The class that is
throwing that exception is:
com.naryx.tagfusion.cfm.xml.we.dynws.WSDL2java
It looks for the "webservices.jar" in either the "java.class.path" or
"sun.boot.class.path" system properties (line 195). If webservices.jar
in neither of those paths, then it tries "libDir" + webservices.jar.
The libDir is the result computed by
com.nary.io.FileUtils.getRealpath("/"); (this is in cfWebServices.java).
As a workaround, I bet if you put webservices.jar in the path specificed
in java.class.path or "sun.boot.class.path" I bet WS would for you.
I agree with Jordan. Something is foobar around here.
HTH,
.Peter
Jordan Michaels said the following on 11/25/2009 05:30 PM:
> Hi Alan,
>
> I think the key issue here is this error:
>
> /opt/openbd/tomcat/webapps/host-manager/WEB-INF/lib/webservices.jar does
> not exist and is needed to compile web service type.
>
> ... and is most likely caused by either something that's been
> accidentally hard-coded in the openbd source, or a problem with a config
> somewhere. This theory can be tested by trying your code using the "war"
> deployment method (which is usually what I resort to doing when I find
> something that looks like this).
>
> - Uninstall the current instance of OpenBD
> - Install a plane-jane Tomcat Instance (sudo apt-get install tomcat -
> should do it)
> - Then dropping the openbd.war into the webapps directory.
>
> From there, test your webservice in the "openbd" directory. If it
> works, then the hypothesis is confirmed and we need to look over the
> default configs and/or through the openbd source.
>
> I wish I had better news for you about this, but at least you can rest
> assured that the issue is almost certainly not your own.
>
> If you do not have time to test this, I will get to it as my own time
> allows.
>
> Warm regards,
> Jordan Michaels
> Vivio Technologies
> http://www.viviotech.net/
> Open BlueDragon Steering Committee
> Adobe Solution Provider
>
>
> Alan Holden wrote:
>
>> This is quite off-putting...
>>
>> I've copied this dang "tools.jar" file to every dang "/lib" directory on
>> the server now, and still it wants to invoke webservices.jar on a
>> nonexistent directory.
>>
>> All I did was download Jordan's installer and run it like he said. I
>> checked every variable against my file system and entered them all
>> carefully. This is a fresh Ubuntu 8.04 system. Wasn't this supposed to
>> be a turnkey process? Where did I go astray?
>>
>> Alan K. Holden
>>
>> Alan Holden wrote:
>>
>>> The thread that would not die!
>>>
>>> OK, so I've been trying a new installation on Ubuntu 8.04.3 using
>>> Jordan's OpenBD Installer (which version? well, most recently 1.2pl1 -
>>> although I've tried installing and uninstalling the others too, honestly
>>> I've lost track). I copy some web services code from my working openbd
>>> machine install over to this one and I get the dreaded error
>>> "java.lang.NoClassDefFoundError: sun/tools/javac/Main" when trying to
>>> call a cfc - either locally or from the working machine.
>>>
>>> I've tried the oft-blogged fix, in which I copy the tools.jar from
>>> /opt/openbd/jdk/lib over to /opt/openbd/lib. (I've even tried the
>>> tools.jar that's way down in /usr/lib/jvm/java-6-sun-1.6.0.16/lib) But
>>> when I restart openbd, the error changes to:
>>> *General Runtime Error
>>> Type Application
>>> Detail Unrecognized error code: Failed to compile web service
>>> generated client classes for http://[myfile].cfc?wsdl. The compiler
>>> error messages follow:
>>> /opt/openbd/tomcat/webapps/host-manager/WEB-INF/lib/webservices.jar does
>>> not exist and is needed to compile web service type.
>>> *
>>> But there's no path like this in Jordan's installation. That particular
>>> WEB-INF directory contains a web.xml file and nothing else. The
>>> webservices.jar file is over in /opt/openbd/lib with everything else. I
>>> can try to create my own /lib file there and slowly copy over each jar
>>> that each subsequent error complains about not being there (saaj.jar,
>>> webservices.jar, wsdl4j.jar, etc) and eventually arrive at an error
>>> which informs me that "sun/tools/javac/Main is deprecated".
>>>
>>> This is web service code that already works on another version of openbd
>>> that I installed on tomcat myself (Ubuntu 8.04.1). Everything's 777. The
>>> catalina.out log looks like this:
>>>
>>> INFO: Server startup in 15590 ms
>>> Nov 24, 2009 9:50:19 PM org.apache.commons.httpclient.HttpMethodBase
>>> processCookieHeaders
>>> WARNING: Cookie rejected: "$Version=0;
>>> JSESSIONID=E5C73248478F518DB478A08D04B2154C; $Path=/openbd". Illegal path
>>> attribute "/openbd". Path of origin: "/feed/utility.cfc"
>>>
>>> Is this a bug, or PEBKAC on my part?
>>>
>>> Alan K. Holden
>>>
>>>
>>>
>>>
>
>
--
Open BlueDragon Public Mailing List
http://www.openbluedragon.org/ http://twitter.com/OpenBlueDragon
mailing list - http://groups.google.com/group/openbd?hl=en
!! save a network - please trim replies before posting !!