prtdiag command works only from commandline manually

When i run the command sudo /usr/sbin/prtdiag manually on a solaris 10 box, it works as expected.
But the same command from my java code gives me the following error. picl_initialize failed: Daemon not responding.

I am unable to figure out why is not running from my code.:wall:

First off, prtdiag does not normally need special privileges to be run. A sysadmin can make prtdiag not available. So the first question is what do you get from the command line:

ls -l /usr/sbin/prtdiag

Can you run prtdiag without sudo?

next question - when java runs what user is executing the code?

Sounds like the picl service is not running for some reason. To check:

# svcs -a | grep picl

To start picl

# svcadm enable svc:/system/picl:default

@jim mcnamara.
In the java code i have tried using both sudo and root user, both give me the same error.
@fpmurphy, the picl service is running, i even tried restarting it, but its still the same.:confused: