I am fighting a nasty classpath issue (at least I think it is class path related).
Build a standard non-WO Java app that uses FOP to generate PDF. This app runs as a conventional WebService -> Works Export this app to standalone runnable jar-File. -> all fine and running and doing its job. Then I created a Wonder7 App and used the above exported jar-File as Library added to the buildpath. The WebService app has a public entry point for testing the creation of PDFs. This interface functions properly. The whole WebService app is built so that FOP resources (the FOP config file, fonts, images) can be referenced with a classpath: schema instead of a file: URI schema. This all works perfecly on my Mac and from Eclipse, both as a WebService as well as embedded library for the WO App. https://stackoverflow.com/questions/60578457/accessing-fop-config-data-inside-a-runnable-jar-file https://stackoverflow.com/questions/41661997/set-fopfactorybuilder-baseuri-to-jar-classpath https://stackoverflow.com/questions/17745133/load-a-font-from-jar-for-fop When I build the WO App and deploy it to a Windows Server (sorry, that't what the customer has) the app itself runs fine. And the WebService also functions correctly. Only FOP called via the above mentioned one-shot service entry point throws up with java.lang.IllegalArgumentException: URI scheme is not "file" when that WebService jar is called. I have no idea where/why this happens. I suspect class path ordering, which was already an issue that I was able to fix with the help of Stackexchange. https://stackoverflow.com/questions/51599091/fop-2-3-problems-wiht-foexternal-graphic However on Windows there is this infamous WOBootstrap.jar that manages the class path when deploying. I did not find any source code for it in Wonder thus I assume it is an original Apple WebObjects thing. Two questions: 1) is there source code available for WOBootstrap.jar? 2) can anyone make sense of the crash? Thanks a lot ---markus--- java.lang.IllegalArgumentException: URI scheme is not "file" at java.io.File.<init>(Unknown Source) at org.apache.fop.fonts.FontCache.addFont(FontCache.java:335) at org.apache.fop.fonts.DefaultFontConfigurator.getFontInfo(DefaultFontConfigurator.java:173) at org.apache.fop.fonts.DefaultFontConfigurator.addFonts(DefaultFontConfigurator.java:136) at org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:89) at org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) at org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) at org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:75) at org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:105) at org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:350) at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:107) at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:104) at org.apache.fop.apps.Fop.<init>(Fop.java:78) at org.apache.fop.apps.FOUserAgent.newFop(FOUserAgent.java:182) at org.apache.fop.apps.FopFactory.newFop(FopFactory.java:240) at com.dsm.coaserver.pdf.PDFCreator.createCoverPage(PDFCreator.java:208) at com.dsm.coaserver.pdf.PDFCreator.createInitialCfcDocument(PDFCreator.java:161) at com.dsm.coaserver.CFCManager.generatePdf(CFCManager.java:78) at com.dsm.coaserver.PdfMergeService.generatePreview(PdfMergeService.java:99) at com.dsm.coaconfig.components.PreviewCfCPDF.generateTestPDF(PreviewCfCPDF.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636) at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134) at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324) at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736) at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447) at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212) at com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804) at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50) at com.webobjects.appserver.WOComponent.valueForBinding(WOComponent.java:731) at com.webobjects.appserver._private.WOBindingNameAssociation.valueInComponent(WOBindingNameAssociation.java:44) at com.webobjects.appserver.WOComponent.valueForBinding(WOComponent.java:731) at com.webobjects.appserver._private.WOBindingNameAssociation.valueInComponent(WOBindingNameAssociation.java:44) at com.webobjects.appserver.WOComponent.valueForBinding(WOComponent.java:731) at com.webobjects.appserver._private.WOBindingNameAssociation.valueInComponent(WOBindingNameAssociation.java:44) at com.webobjects.appserver._private.WOGenericElement.invokeAction(WOGenericElement.java:137) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver._private.WOConditional.invokeAction(WOConditional.java:86) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079) at er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:161) at er.extensions.components.ERXNonSynchronizingComponent.invokeAction(ERXNonSynchronizingComponent.java:66) at er.coolcomponents.CCSubmitLink.invokeAction(CCSubmitLink.java:63) at com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079) at er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:161) at er.extensions.components.ERXNonSynchronizingComponent.invokeAction(ERXNonSynchronizingComponent.java:66) at com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver._private.WOConditional.invokeAction(WOConditional.java:86) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079) at er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:161) at er.extensions.components.ERXNonSynchronizingComponent.invokeAction(ERXNonSynchronizingComponent.java:66) at com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at er.extensions.components._private.ERXWOForm.invokeAction(ERXWOForm.java:217) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:38) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver._private.WOHTMLURLValuedElement.invokeAction(WOHTMLURLValuedElement.java:149) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079) at er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:161) at com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127) at er.extensions.components._private.ERXSwitchComponent.invokeAction(ERXSwitchComponent.java:120) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105) at com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115) at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079) at er.directtoweb.pages.ERD2WPage.invokeAction(ERD2WPage.java:749) at com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1357) at com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1745) at er.extensions.appserver.ajax.ERXAjaxApplication.invokeAction(ERXAjaxApplication.java:116) at er.extensions.appserver.ERXApplication.invokeAction(ERXApplication.java:1971) at er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedPage(ERXComponentRequestHandler.java:157) at er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedSession(ERXComponentRequestHandler.java:235) at er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedApplication(ERXComponentRequestHandler.java:268) at er.extensions.appserver.ERXComponentRequestHandler._handleRequest(ERXComponentRequestHandler.java:302) at er.extensions.appserver.ERXComponentRequestHandler.handleRequest(ERXComponentRequestHandler.java:378) at com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687) at er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2092) at er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2057) 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(Unknown Source)
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com