axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Evans (JIRA)" <>
Subject [jira] Commented: (AXIS2-401) generated client stub throws IOException and requires non-null AXIS2_HOME
Date Thu, 19 Jan 2006 17:09:43 GMT
    [ ] 

Aaron Evans commented on AXIS2-401:

As an update to this, I did manage to patch this.

If axis home is null, then it attempts to use the user's home directory and I believe that
is what was causing the " Access is denied" exception.  

To fix this this first problem, I forced it to use null for the repo location by implementing
a simple AxisConfigurator that extends FileSystemConfigurator:

public class MyClientAxisConfigurator extends FileSystemConfigurator
	public MyClientAxisConfigurator()
		//Use null for axis home
		//Use false for isServer
	public AxisConfiguration getAxisConfiguration() throws AxisFault
		//pass null for repo location
        	return new DeploymentEngine().loadClient(null);

Then it is just a matter of modifying the generated Client stub constructor that takes an
endpoint as an argument like so:

public WebServiceClientStub(String targetEndpoint) throws java.lang.Exception
    //comment out this line
    //this(new ConfigurationContextFactory().createConfigurationContextFromFileSystem(AXIS2_HOME),targetEndpoint);

    //add this line
    this(new ConfigurationContextFactory().createConfigurationContext(new MyClientAxisConfigurator()),targetEndpoint);


Finally, the "addressing" module is required, so I simply copied addressing.mar from the axis
binary distribution to my lib directory and renamed it to addressing.jar and added to the
class path.

> generated client stub throws IOException and requires non-null AXIS2_HOME
> -------------------------------------------------------------------------
>          Key: AXIS2-401
>          URL:
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug
>   Components: client-api
>     Versions: 0.94
>  Environment: Windows XP, JDK 1.5
>     Reporter: Aaron Evans

> I generated a client stub based on some wsdl using the eclipse plugin.
> In my stub, it created a static String for axis home and set it to null.
> It also had a comment that suggested this was ok:
> //default axis home being null forces the system to pick up the 
> //mars from the axis2 library
> public static final String AXIS2_HOME = null;
> However, when I run my client from windows, I get the stack trace given below.
> If I set this value to a path that points to a directory with axis2.xml and
> the modules directory in it, then it works fine.
> However, since I am just using axis in a client capacity and I didn't change
> the default axis2.xml or modules, I really think I should be able to run it
> without having to specify any "AXIS2_HOME" configuration.
> I have tried a few workarounds, but haven't been successful yet.  
> Stack trace:
> 	org.apache.axis2.deployment.DeploymentException: Access is denied;  nested exception
> Access is denied
> 	at org.apache.axis2.deployment.DeploymentEngine.prepareRepository(
> 	at org.apache.axis2.deployment.DeploymentEngine.<init>(
> 	at org.apache.axis2.deployment.DeploymentEngine.<init>(
> 	at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(
> 	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(
> 	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(
> 	at com.mycompany.WebServiceClientStub.<init>(
> 	at com.mycompany.test.WebServiceClientStubTest.setUp(
> Caused by: Access is denied
> 	at Method)
> 	at
> 	at org.apache.axis2.deployment.DeploymentEngine.prepareRepository(
> 	... 17 more

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message