On 01.08.2019 13:02, Potgieter, Carlo wrote:
> On 31.07.2019 20:26, Potgieter, Carlo wrote:
>> On 31.07.2019 14:49, Mark Thomas wrote:
>>> On 31/07/2019 13:03, Potgieter, Carlo wrote:
>>>>
>>>>
>>>> On 31/07/2019 12:48, Potgieter, Carlo wrote:
>>>>> I was hoping to obtain some assistance. We have used a library to convert 
>>>>> MS Office documents (docx and pptx) to PDF.
>>>>>
>>>>> This works perfectly in the development environment and also when running 
>>>>> Tomcat in a console window.
>>>>>
>>>>> The moment we run Tomcat as a service this specific component gives and 
>>>>> error. Unfortunately the error is non-specific so we cannot troubleshoot 
>>>>> the origin.
>>>>>
>>>>> My question is, what would be the difference in running Tomcat as a 
>>>>> Service as oppose to running it in Console that might cause this problem?
>>>>
>>>> Tomcat runs as a different user with different access permissions, 
>>>> particularly to network shares.
>>>>
>>>> You probably want to set up a Tomcat specific user with the appropriate 
>>>> permissions.
>>>>
>>>> Mark
>>>>
>>>> Thank you Mark for the quick response.
>>>>
>>>> My first thought was permissions also, however I have attempted to run it 
>>>> with local, domain and system user, however the same result.
>>>>
>>>> Both local and domain user was part of the local admin group. Is there 
>>>> anything else I can check?
>>>
>>> Are you sure the DDL is being loaded? That normally needs explicit
>>> configuration to point the JVM at the right path.
>>>
>>> Look at the docs for for
>>> org.apache.catalina.startup.VersionLoggerListener and configure it
>>> to dump everything. Then compare the console start with the service start.
>>>
>>
>> What is also different when Tomcat runs as a Service or in a console, is 
>> where the JVM that runs tomcat, picks up its environment and command-line 
>> switches.
>> If you are not familiar with this matter, this may help :
>> verbose explanation :
>> https://secure-web.cisco.com/16LxnNI0vUhSt5WCJq8xkkulFgI8kkE6jU6nNTTW
>> H
>> 8Edc36MeIASjeU6nUbSA_zE1ivz6c5TGLRI5-1Pf6_zuQkUOEaw8utUuFpuUnCrCLIeiS
>> 7
>> dhXxvll2giIW3fHOBe1_gpGzPiGufx1vE50Dzs9UUSm5Rc1iB9G9UILBUZ6dhLaGa3vAE
>> U
>> t8bmVvfaGcwlM8tmxid6q8PydRkxPkVHu_02IIO1w4c2yyYp4O9vhwKqUq1OeApnpAj1c
>> 0
>> e2G-t0fT-lxYS5ofL92-i2ZpXEQk9bpTnCXLs0bT0wnFZYQsrFJZ8GQQckDdY-8eBWc94
>> 6
>> XK9enjcTwIMehHfk013zuw/https%3A%2F%2Fcwiki.apache.org%2Fconfluence%2F
>> d
>> isplay%2FTOMCAT%2FWindows#Windows-Q11
>> Official page :
>> https://secure-web.cisco.com/1BYhcwXb2ofGRuNXu8K-JZBV4sFyWUkMe0XaNSYX
>> c
>> ey93JyiAhWVVK1zM0iJzrwal62xEQvv7bWZTbZIMuGTP_S_2qZdoXT4tLt78CPHzpOJND
>> 9
>> 6h28X7R95_fnapxZO1zDvqNUPkrh23BUmyvnfKvqfef2panME2Z0l8GOvPAP4lZdyaSwg
>> c
>> D0L2TM7oClsAQ4TPAeM8hVEtWCsJsoeQjwh7m4IHyvpPDfPDJ28gRGkBoLQWETM9alb7R
>> H
>> jMtvclQ7-lMp3IYS9kOzQBDVHACmGkdIqgx-XAWNBjM6Wce6IoYmAeiwIgYmPZ0oClxso
>> v
>> Fcb1-dH06wAs3t938YQVvw/https%3A%2F%2Ftomcat.apache.org%2Ftomcat-8.5-d
>> o
>> c%2Fwindows-service-howto.html
>>
>> (Perhaps the application expects some value to be set somewhere..)
>>
>> Also, above you mention "Unfortunately the error is non-specific..", but 
>> maybe you want to copy the error message here, so that someone else can have 
>> a look at it ?
>> Maybe it triggers some recognition by another user having had the same issue 
>> with that library.
>>
>>
>> Quickly answering both posts from Mark and Andrei:
>>
>> Mark: Yes, the DLL is being loaded. There is error handling in place should 
>> it be unsuccessful in accessing any of the components.
>> I also compared the output of the VersionLoggerListners:
>> When running as a service and executing the Tomcat8.exe from cmd the 
>> information is the same, however the functionality only works when the .exe 
>> is run from cmd.
>> When using the Startup.bat script to start the server there are three less 
>> entries and one extra:
>>
>> Entries not included:
>> 31-Jul-2019 19:34:37.398 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: exit
>> 31-Jul-2019 19:34:37.399 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Xms128m
>> 31-Jul-2019 19:34:37.399 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Xmx256m
>>
>> Entry included but not in the other two:
>> 31-Jul-2019 19:37:11.434 INFO [main]
>> org.apache.catalina.startup.VersionLoggerListener.log Command line
>> argument: -Djdk.tls.ephemeralDHKeySize=2048
>>
>> Again using this method to run the server allows the functionality to work.
>>
>> Andre: From what I could see, everything is loaded the same as all of them 
>> uses the sae JVM. Unless I missed something...which is entirely possible.
>> The zeonpadpdf we are using consists of 3 components, 2 .jar's and 1
>> .dll. zeonpadpdf.jar, jacob-1.18.jar, jacob-1.18-x64.dll The error we are 
>> receiving states: "Conversion error" and is generated from the 
>> zeonpadpdf.jar which handles the conversion from .docx to pdf.
>> This is also the error in the stack trace which doesn't provide much more 
>> information.
>> Based on what I could find in the zeonpadpdf.jar this is generic error 
>> message.
>>
>> Hope that gives some more context.
>>
>>
>
> 1) I remember (from some time ago) that in the Services control panel, there 
> was an option when defining a Service, like "Allow this service to interact 
> with the desktop".
> If you find it, you may want to set it, and then just redo your test.
> That is based on the fact that when you run a Service, normally that task 
> does not have a console, while when you run a program in a console window (of 
> course) it does.
> That may make the difference if somewhere along the line, one of the 
> components that you use requires something like .. a console.
> Note that setting this may result in some console popping up unexpectedly on 
> your server machine while a conversion is running. But at least you'll find 
> out if this is the problem.
>
> 2) this is a bit more delicate, and I'm doing some guessing.
> As I understand from some browsing for "jacob" and "zeonpadpdf", these things 
> work in fact by leveraging at the end some Microsoft Office components 
> pre-installed on the machine on which you run your Tomcat application.
> And if you want to do do this in Tomcat, then maybe the application in 
> question will be used through a web interface, for several users.
> I also remember - from some experience a while ago - that somewhere in the 
> Microsoft Office API interface description, it mentions that Microsoft Office 
> components are not meant to be used in such a context, and that in any case, 
> should you want to use this on a server, special Microsoft licensing 
> conditions may apply.
> The current conditions may have changed.
> But what I'm saying is that if this is anything else than some exploratory 
> project, you may want to be careful as to what you're getting into (even if 
> you do not intend to charge anyone for the result).
> Disclaimer : I have no professional or commercial links with Microsoft.
>
> There exist other software packages which convert .docx documents to PDF, 
> some of them open-source, others with a commercial license, but which do not 
> use any MS Office components.
> One commercial entity of which I know that they do extensive
> PDF-related things can be found here :
> https://www.pdf-tools.com/pdf20/en/home/
> You may want to consult them, letting them know exactly what you have in mind.
> 2d disclaimer : I don't work for them either, but I am a (satisfied) customer.
>
> 1) I have enabled the "Allow this service to interact with the desktop" in 
> the service to no avail. It still provided the same error.
>
> 2) Regarding the Microsoft API usage, I was not aware that different
> licencing conditions may apply. In all instances we are using a standard 
> enterprise installation of office on the local dev, testing and production 
> environments. This is something which I tried to avoid, however with this 
> framework was unavoidable. (Ideal would have been to have it utilise the 
> office installation client side however it does not make provision for this 
> which I can understand) The users are accessing this through a web interface. 
> The process is quite simple, they browse for the document (either Word or 
> PowerPoint) and then upload. Then there is an option to preview the document 
> which then generates the PDF version. It is at this point that it fails.
>
> I am enquiring as to pricing etc on your suggestion above. It seems that it 
> could also fulfil our requirement, however need to understand this 
> commercially better.
>
>  From what I can see and due to the generic error message, there is very 
> little we can do in terms of pinpointing where it is failing.

I did look at some description of the API for "zeonpadpdf", and there did not 
seem to be any options there to increase the logging level or similar.  I did 
not look at "jacob" per se, but maybe there is something there that would allow 
to see the original exception, if any.

I will have to start digging for alternatives.
>
>
> PS: I wrote the above a bit earlier and whilst digging for an alternative 
> installed an SDK of another converter. Once installed, our components also 
> works, so I am thinking this issue most likely relates to how the .dll is 
> registered and whether there might be additional configuration required on 
> Windows.
> The new SDK also uses the Jacob.jar and Jacob.dll

.. which means that it probably uses the same Microsoft Office pre-installed 
components..

In my experience, the providers/developers of such packages are often very 
"shy" about talking about licenses that may be required to use proprietary 
software (in this case MS).
It is understandable in a way (avoid lawyer fees etc.), but one often finds 
this out only after expending already considerable time and work on the 
interface package (like you in this case). That was the motivation for my above 
warning.
Considering your email address, I have little doubt that you could ask for 
advice in-house, about exactly what your corporate license allows.
Beter safe than sorry.

>
> Thank you for the assistance!

On the more general side, I believe that the information so far seems to 
indicate that your issue is not really a tomcat issue, but more something to do 
with details of Microsoft Windows Services, and of the external libraries which 
you are using in your application.  A better place for you to get help with 
this in the future, may be obtained from these external respective support 
forums.
Not that we want to get rid of you, and we're always please to help with 
anything regarding tomcat, but the expertise available here may not be what you 
need now.


Agreed.
When I started this it seemed as if it might be an issue with Tomcat, however 
unpacking it further identified the other components as the cause.
Thanks for assisting as far as you have!

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

*Disclaimer:* This email is subject to important restrictions, qualifications 
and disclaimers ("the Disclaimer") that must be accessed and read by visiting 
our website and viewing the webpage at the following address: 
http://www.deloitte.com/za/disclaimer. The Disclaimer forms part of the content 
of this email. If you cannot access the Disclaimer, please obtain a copy 
thereof from us by sending an email to zaitserviced...@deloitte.co.za. Deloitte 
refers to a Deloitte member firm, one of its related entities, or Deloitte 
Touche Tohmatsu Limited (“DTTL”). Each Deloitte member firm is a separate legal 
entity and a member of DTTL. DTTL does not provide services to clients. Please 
see www.deloitte.com/about to learn more.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to