I bet Alan or Vince can speak better on this, but it appears the
getRealPath() ends up being a wrapper for
javax.servlet.http.ServletContext's getRealPath().
Yeah, so something is getting foobared looking OpenBD's lib folder. I
can't find other code (i'm not too familiar with the codebase) that
looks for the WEB-INF dir. I suspect there is a defect here?
.Peter
Jordan Michaels said the following on 11/25/2009 06:48 PM:
> Thanks again for this Peter. You hit the problem right smack on the
> forehead. I wonder why com.nary.io.FileUtils.getRealpath("/") is
> resulting in a "WEB-INF" directory? It can't be the same method that's
> used in other places to resolve the BD lib path, or there'd be more
> errors then just this one.
>
> Warm regards,
> Jordan Michaels
> Vivio Technologies
> http://www.viviotech.net/
> Open BlueDragon Steering Committee
> Adobe Solution Provider
>
>
> Peter J. Farrell wrote:
>
>> 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 !!
>>
>
>
--
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 !!