Re: Deployment Issue on Linux - Help Troubleshooting PLEASE
Re: Deployment Issue on Linux - Help Troubleshooting PLEASE
- Subject: Re: Deployment Issue on Linux - Help Troubleshooting PLEASE
- From: Rich <email@hidden>
- Date: Wed, 14 Mar 2012 00:08:22 +1300
Hey thanks Pascal
Yea I realize Xcode is not for Java, I'm not really a Java person at all. Doing this web-service with WO was my first real experience with Java (done C & Obj-C on Unix / Linux for many years though).
I must say from what I've seen the the Wonder frameworks, they are really good, although some of the docs are a bit sketch ;o),
I did however find the screencasts from your previous WOWODC very informative & helpful
PS thanks for the 'extra' tips, especially not copying in the frameworks yourself ;o) - I haven't used Maven (not sure what it is, but will have a look)
Rich
On 13/03/2012, at 11:03 PM, Pascal Robert wrote:
>
> Le 2012-03-13 à 02:05, Rich a écrit :
>
>> Thank you so much Chuck, it's now working ..... pheew
>> Your insight and direction we're spot on.
>>
>> The problem was that early on when I setup the project I for some reason copied the ERExtension framework into the projects App folder to make sure it used that particular version, however as you suggested It wasn't building with the project (As I'd presumed it would) - I'm not very familiar with Eclipse and find it quite awkward to work with and work out what's going on - Kinda wish I could develop WebObjects from XCode ;o)
>
> Trust us, you don't want to develop WO apps in Xcode :-) Eclipse is not perfect, but as a Java IDE, it's years ahead of Xcode.
>
> Tips:
>
> - Don't fix the xxxxClasspath.txt manually. If they are wrong, either it's a bug in WOLips or something is not setup correctly in the project.
> - Don't deploy with the .woa that is in the "build" directory of the project. This is not a full WO app, and frameworks are not bundled into the app.
> - Don't copy frameworks directly into the app, let Ant or Maven do it for you.
>
>> It seems so simple now, but I've been pulling my hair out - I'm so relived and if there is any way I could buy you a beer (or two or three I will (Let me know).
>>
>> I also just realized your the author of the Practical Webobjects book which will now be my next purchase
>>
>> Thank you
>> Rich
>>
>>
>> On 13/03/2012, at 6:27 PM, Chuck Hill wrote:
>>
>>>
>>> On 2012-03-12, at 10:12 PM, Rich wrote:
>>>
>>>> Ok, so my UNIX classpath is as follows:
>>>>
>>>>> # JVM == java
>>>>> # JVMOptions ==
>>>>> # JDB == jdb
>>>>> # JDBOptions ==
>>>>> # ApplicationClass == jaboo.proto.websvc.Application
>>>>>
>>>>> APPROOT/Resources/Java/
>>>>> APPROOT/Resources/Java/_jabooprotowebsvc.jar
>>>>> APPROOT/Resources/Java/commons-codec-1.3.jar
>>>>> APPROOT/Resources/Java/commons-httpclient-3.0.1.jar
>>>>> APPROOT/Resources/Java/mysql-connector-java-5.1.13-bin.jar
>>>>>
>>>>> APPROOT/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar
>>>>> APPROOT/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar
>>>>> APPROOT/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar
>>>>> APPROOT/Frameworks/JavaEOControl.framework/WebServerResources/Java/JavaEOControl.jar
>>>>> APPROOT/Frameworks/JavaFoundation.framework/Resources/Java/javafoundation.jar
>>>>> APPROOT/Frameworks/JavaFoundation.framework/WebServerResources/Java/JavaFoundation.jar
>>>>> APPROOT/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/javajdbcadaptor.jar
>>>>> APPROOT/Frameworks/JavaJDBCAdaptor.framework/WebServerResources/Java/JavaJDBCAdaptor.jar
>>>>> APPROOT/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar
>>>>> APPROOT/Frameworks/JavaWebObjects.framework/WebServerResources/Java/JavaWebObjects.jar
>>>>> APPROOT/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar
>>>>> APPROOT/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar
>>>>
>>>> Sorry, yes it is ERExtensions.framework (with and 's')
>>>> BUT, there is no ERExtensions.jar file under the Resources/Java/ - No JAR file in under here at all (Just done a search)
>>>> Just two further directories com & er with more files and sub-directories under them.
>>>
>>> I _think_ that might mean that you don't have the Wonder frameworks installed (e.g. the built .framework versions, not the source projects). See the bottom of http://wiki.wocommunity.org/display/WONDER/Getting+the+Wonder+Source+Code and the installation instructions here:
>>> http://wiki.wocommunity.org/display/WO/Building+and+Installing+a+Framework+with+Ant
>>>
>>> Do that on your dev machine and rebuild the deployment bundle.
>>>
>>>
>>> Chuck
>>>
>>>>
>>>> The Resources folder has lots of files with .wo extensions though
>>>>
>>>>
>>>>
>>>>
>>>> On 13/03/2012, at 5:59 PM, Chuck Hill wrote:
>>>>
>>>>>
>>>>> On 2012-03-12, at 9:50 PM, Rich wrote:
>>>>>
>>>>>> Mmm, OK I've rebuilt and my Unix classPath is showing all APPROOT/xxx for the frameworks, however it DOESN"T have an entry for the ERXExtension framework in there - Should it?
>>>>>
>>>>> I'd hope so, that is where the ERXContext* classes live!
>>>>>
>>>>>
>>>>>> I've defiantly got an ERXExtension.framework folder in my APPROOT/Frameworks folder
>>>>>
>>>>> EXExtensions with an S on the end, right?
>>>>>
>>>>>
>>>>> What is under that? Is there a Resources/Java/ERXExtensions.jar file?
>>>>>
>>>>>
>>>>>> Just finishing fixing up the permissions and about to try and run it up again to see what happens
>>>>>
>>>>> Here is hoping...
>>>>>
>>>>>
>>>>>>
>>>>>> On 13/03/2012, at 5:27 PM, Chuck Hill wrote:
>>>>>>
>>>>>>>
>>>>>>> On 2012-03-12, at 9:24 PM, Rich wrote:
>>>>>>>
>>>>>>>> OK, I'll give that a try now, I didn't have all the check ticked.
>>>>>>>> Also my Unix ClassPath (from you previous message) was showing a mix of locations for the frameworks, so hopefully this will sort that out.
>>>>>>>
>>>>>>> The ERExtensions one is the most critical right now.
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> On 13/03/2012, at 5:19 PM, Chuck Hill wrote:
>>>>>>>>
>>>>>>>>> I meant all of the ones that your app is using, including the WebObjects frameworks that it is using. The goal is one self contained directory. There are not transitive dependancies between frameworks so if a framework is NOT included in your application project, then you don't need it. This should take care of it automatically:
>>>>>>>>>
>>>>>>>>> <PastedGraphic-9.pdf>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Chuck
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 2012-03-12, at 9:15 PM, Rich wrote:
>>>>>>>>>
>>>>>>>>>> When you say "Embed the Framework (All of them)" you mean only the ones relevant to my App right? - or do you mean ALL of the Wonder frameworks
>>>>>>>>>>
>>>>>>>>>> On 13/03/2012, at 4:48 PM, Pascal Robert wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Le 2012-03-12 à 23:29, Chuck Hill a écrit :
>>>>>>>>>>>
>>>>>>>>>>>> Hi Rich,
>>>>>>>>>>>>
>>>>>>>>>>>> On 2012-03-12, at 8:09 PM, Rich wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> This is my first post to this list, so apologies if my protocol is not correct, or I miss something.
>>>>>>>>>>>>
>>>>>>>>>>>> Not much of a worry about that around here, we don't bite. This is not your average place on the Internet.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> I've been pulling my hair out for nearly a week now as I can't get my WO application running on my Linux server.
>>>>>>>>>>>>
>>>>>>>>>>>> Deployment is almost always a source of frustration and anguish. You are not alone.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> I am a Noobie to WebObjects (1st project), and developed a back end web-service for an iPhone / iPad application prototype project I was contracted to do.
>>>>>>>>>>>>> The project is at the point of completion, and I've been trying to make the WO application (Which runs just fine in Eclipse), work on the deployment server so I can hand it over (The Linux machine is running in VMWare).
>>>>>>>>>>>>>
>>>>>>>>>>>>> So, I have followed (several times), the 'Setup' and 'Deployment' instructions on http://wiki.wocommunity.org/display/WO/Deploying+on+Linux and think that I have everything deployed OK (Application and frameworks).
>>>>>>>>>>>>
>>>>>>>>>>>> I will gently suggest that this is your first and root problem. Embedding the frameworks (all of them!) in the Application can avoid so very many headaches. And who likes a painful deployment?
>>>>>>>>>>>
>>>>>>>>>>> +1 !
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> When I start up the WO application instance from the Java Monitor it seems to launch OK - The application log seems to have no issues and states the URL and "Waiting for requests...", it's just when I make a request (GET) just using a browser, I don't get any response data - No error at all in the browser, just an empty / blank page - I know I should be getting some data back as there's data to serve for the request.
>>>>>>>>>>>>
>>>>>>>>>>>> You should be getting something back, even if just a short error message.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> The WO application is a fairly simple and has been based upon the ERRestRouteExample included with the ProjectWonder sources, but as I said I know the application runs just fine if launched form Eclipse (with the Eclipse http engine).
>>>>>>>>>>>>>
>>>>>>>>>>>>> I've got a suspicion it's something in my Apache setup, but I can't for the life of me think / see what it is - I'm not even use I need Apache as I don't need to serve any HTTP pages, just JSON response data (Please correct me if I'm wrong)
>>>>>>>>>>>>
>>>>>>>>>>>> It is not your Apache config. For a small site you don't strictly need Apache. But when you get larger and want to run multiple instances of your application to scale up, then you want Apache (or something that helps to distribute the load, Apache is probably the easy, cheap option here).
>>>>>>>>>>>>
>>>>>>>>>>>>> I know requests are getting through to the Linux server (checked with tcpdump), and I can see the request in the WO application log with the following error, which I can't see to find anywhere on the net.
>>>>>>>>>>>>>
>>>>>>>>>>>>>> [2012-3-13 2:40:43 GMT+00:00] <WorkerThread14> java.lang.InstantiationError: <jaboo.proto.websvc.Application>: Unable to create ERXWOContext54
>>>>>>>>>>>>
>>>>>>>>>>>> I think that means (and yeah, it is freaking obscure) that the version of Wonder that is on your dev machine is much older than what is on the server. Check the size/date of ERExtensions.framework/Resources/Java/erextensions.jar
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Also check your app for code like:
>>>>>>>>>>>>
>>>>>>>>>>>> setContextClassName("ERXWOContext54");
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Chuck
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>> at com.webobjects.appserver.WOApplication.createContextForRequest(WOApplication.java:2039)
>>>>>>>>>>>>>> at er.extensions.appserver.ERXApplication.createContextForRequest(ERXApplication.java:2083)
>>>>>>>>>>>>>> at er.extensions.appserver.ERXApplication.handleActionRequestError(ERXApplication.java:1735)
>>>>>>>>>>>>>> at com.webobjects.appserver._private.WOActionRequestHandler._handleRequest(WOActionRequestHandler.java:245)
>>>>>>>>>>>>>> at com.webobjects.appserver._private.WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:158)
>>>>>>>>>>>>>> at er.extensions.appserver.ERXDirectActionRequestHandler.handleRequest(ERXDirectActionRequestHandler.java:126)
>>>>>>>>>>>>>> at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>>>>>>>>>>>>> at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2021)
>>>>>>>>>>>>>> at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1986)
>>>>>>>>>>>>>> at com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>>>>>>>>>>>>> at com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>>>>>>>>>>>>> at java.lang.Thread.run(Thread.java:636)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Mar 13 02:40:43 Jaboo[2002] WARN NSLog - <WOWorkerThread id=14 socket=null> Workerthread exiting due to error, respawning with ID 10014...
>>>>>>>>>>>>>> Exception in thread "WorkerThread14" com.webobjects.foundation.NSForwardException [java.lang.InstantiationError] <jaboo.proto.websvc.Application>: Unable to create ERXWOContext54:java.lang.InstantiationError: <jaboo.proto.websvc.Application>: Unable to create ERXWOContext54
>>>>>>>>>>>>>
>>>>>>>>>>>>> I've bypassed Apache and wotaskd and am just doing a DirectConnection (which I've enabled) to the application
>>>>>>>>>>>>>
>>>>>>>>>>>>> I would really appreciate any help of guidance on how to troubleshoot further.. as I'm about to lose what little hair I've got left - my time is running out
>>>>>>>>>>>>>
>>>>>>>>>>>>> Warmest regards and a big hug to anyone who can help (please..)
>>>>>>>>>>>>> Rich
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>>>>
>>>>>>>>>>>>> This email sent to email@hidden
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>>>>
>>>>>>>>>>>> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
>>>>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>>>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>>>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>>>>>>>
>>>>>>>>>>>> This email sent to email@hidden
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>>>
>>>>>>>>> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
>>>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>>>
>>>>>>> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
>>>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Chuck Hill Senior Consultant / VP Development
>>>>>
>>>>> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
>>>>> http://www.global-village.net/gvc/practical_webobjects
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Chuck Hill Senior Consultant / VP Development
>>>
>>> Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
>>> http://www.global-village.net/gvc/practical_webobjects
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden