Java app fails saving to SMB share

Alexandre Takacs
Alexandre Takacs used Ask the Experts™
on
Hello

I am having an issue with a third party Java application running under Win10/64

The problem is that the app can't seem to be able to write into an SMB share (referenced as UNC or mapped to a drive letter).

It can save into the local drives(s) and, interestingly enough, it manages to create a file in the share but doesn't complete the write operation.

Looking into the generated logs I see:

2016-03-25 14:38:22,941 [Thread-2] DEBUG ch.dvbern.tax.common.presentation.cd.util.ImmediatelyCancelable - runner started
2016-03-25 14:38:23,104 [Thread-2] DEBUG ch.dvbern.tax.common.presentation.cd.util.ImmediatelyCancelable - runner terminated
2016-03-25 14:38:35,606 [main] DEBUG ch.dvbern.tax.common.presentation.common.util.TaxFileUtil - Opening tax file version 3
2016-03-25 14:38:35,645 [main] DEBUG ch.dvbern.tax.common.presentation.common.util.TaxFileUtil - Successfuly loaded 1307 model item(s) into memory
2016-03-25 14:38:35,692 [main] DEBUG ch.dvbern.tax.common.presentation.common.util.TaxFileUtil - Opening tax file version 3
2016-03-25 14:38:35,708 [main] DEBUG ch.dvbern.tax.common.presentation.common.util.TaxFileUtil - Successfuly loaded 1307 model item(s) into memory
2016-03-25 14:38:35,724 [main] INFO  ch.dvbern.tax.common.ejb.util.CDIHelper - CDI support level: FULL.
2016-03-25 14:38:35,974 [main] INFO  ch.dvbern.tax.ge.pp.repartition.RepartitionDataSourceHolder - Table REPARTITION initialized (update count: 219).
2016-03-25 14:38:35,989 [main] INFO  ch.dvbern.tax.ge.pp.repartition.RepartitionDataSourceHolder - Table REPARTITION_KEYS initialized (update count: 182).
2016-03-25 14:38:35,989 [main] INFO  ch.dvbern.tax.ge.pp.repartition.RepartitionDataSourceHolder - Populated repartition tables in 31 ms.
2016-03-25 14:38:36,442 [main] DEBUG ch.dvbern.tax.common.engine.Engine - dataModelKey validation took 0ms
2016-03-25 14:38:36,442 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.DeductionsLPP.MontantEnfants updates left=7
2016-03-25 14:38:36,442 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.DeductionsLPP.MontantConjoint updates left=6
2016-03-25 14:38:36,458 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.DeductionsLPP.MontantContribuable updates left=5
2016-03-25 14:38:36,458 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.AutresDeductions.DeductionPourChargeDeFamilleIFD updates left=4
2016-03-25 14:38:36,458 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.AutresDeductions.DeductionPourChargeDeFamilleICC updates left=3
2016-03-25 14:38:36,458 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.AutresDeductions.DeductionSurFortuneCommercInvestieConjoint updates left=2
2016-03-25 14:38:36,458 [main] DEBUG ch.dvbern.tax.common.engine.Engine - executing async update dmk=Deductions.AutresDeductions.DeductionSurFortuneCommercInvestieContribuable updates left=1
2016-03-25 14:39:36,824 [main] ERROR ch.dvbern.tax.common.presentation.cd.TaxmeController - Error saving fileAs
java.nio.file.ReadOnlyFileSystemException: null
	at com.sun.nio.zipfs.ZipFileSystem.checkWritable(ZipFileSystem.java:155) ~[zipfs.jar:1.8.0_60]
	at com.sun.nio.zipfs.ZipFileSystem.createDirectory(ZipFileSystem.java:416) ~[zipfs.jar:1.8.0_60]
	at com.sun.nio.zipfs.ZipPath.createDirectory(ZipPath.java:634) ~[zipfs.jar:1.8.0_60]
	at com.sun.nio.zipfs.ZipFileSystemProvider.createDirectory(ZipFileSystemProvider.java:201) ~[zipfs.jar:1.8.0_60]
	at java.nio.file.Files.createDirectory(Files.java:674) ~[na:1.8.0_60]
	at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781) ~[na:1.8.0_60]
	at java.nio.file.Files.createDirectories(Files.java:727) ~[na:1.8.0_60]
	at ch.dvbern.tax.ge.pp.presentation.cd.GeDvbTaxCdSession$1.preVisitDirectory(GeDvbTaxCdSession.java:97) ~[getax-pp-cd.jar:na]
	at ch.dvbern.tax.ge.pp.presentation.cd.GeDvbTaxCdSession$1.preVisitDirectory(GeDvbTaxCdSession.java:94) ~[getax-pp-cd.jar:na]
	at java.nio.file.Files.walkFileTree(Files.java:2677) ~[na:1.8.0_60]
	at java.nio.file.Files.walkFileTree(Files.java:2742) ~[na:1.8.0_60]
	at ch.dvbern.tax.ge.pp.presentation.cd.GeDvbTaxCdSession.setFile(GeDvbTaxCdSession.java:94) ~[getax-pp-cd.jar:na]
	at ch.dvbern.tax.common.presentation.cd.TaxmeController.saveFileAs(TaxmeController.java:425) ~[dvbtax-common-cd-getax.jar:8.8.1]
	at ch.dvbern.tax.common.presentation.cd.action.menu.FileSaveAsAction.run(FileSaveAsAction.java:39) [dvbtax-common-cd-getax.jar:8.8.1]
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:519) [org.eclipse.jface.jar:na]
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595) [org.eclipse.jface.jar:na]
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511) [org.eclipse.jface.jar:na]
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420) [org.eclipse.jface.jar:na]
	at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) [swt_32.jar:na]
	at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source) [swt_32.jar:na]
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) [swt_32.jar:na]
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) [swt_32.jar:na]
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) [swt_32.jar:na]
	at ch.dvbern.tax.common.presentation.cd.TaxmeLauncher.launchApplication(TaxmeLauncher.java:277) [dvbtax-common-cd-getax.jar:8.8.1]
	at ch.dvbern.tax.common.presentation.cd.TaxmeLauncher.launchTaxme(TaxmeLauncher.java:135) [dvbtax-common-cd-getax.jar:8.8.1]
	at ch.dvbern.tax.ge.pp.presentation.cd.TaxmeGeLauncher.main(TaxmeGeLauncher.java:137) [getax-pp-cd.jar:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_60]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_60]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_60]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_60]
	at ch.dvbern.lib.update.Launcher.launchApplication(Launcher.java:943) [dvbern-lib-update.jar:2.6.6]
	at ch.dvbern.lib.update.Launcher.main(Launcher.java:215) [dvbern-lib-update.jar:2.6.6]
2016-03-25 14:39:44,663 [Thread-3] DEBUG ch.dvbern.tax.common.presentation.cd.Autosave - Autosaving has been interrupted
2016-03-25 14:39:44,676 [Thread-1] DEBUG ch.dvbern.tax.common.presentation.cd.TaxmeLauncher - Shutting down weld

Open in new window


I have contacted the editor of the software (a tax declaration application) and their advise is to save to local drive and then copy paste to share... I'd like to get back to them with something more specific.

Any comment most welcome
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2016
Commented:
That's a commercial product. You should ask them for a better solution, not us

http://dvbern.ch/#support

Author

Commented:
Well on the principle I would tend to agree but I wonder if there is not an infrastructure issue at play here, ie some system setting that would restrict access to network ressources for Java apps
Top Expert 2016

Commented:
Unlikely

Author

Commented:
Not really a solutiuon / what I as looking for but I guess my best bet

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial