Hi guys
I've been trying for a while now to get the security module to work (either using my own code or the security sample). I was encouraged when I was told that 0.95 had a known problem which was addressed in RC2, but I get the same problem(s) in RC2 (described below). I'm currently using:

axis2.war, std-bin from and http://people.apache.org/~deepal/axis2/1.0-RC2/
security, addressing modules from http://people.apache.org/~deepal/maven/ws/axis2/mars/

I have a (working) client and server, generated from WSDL. These work fine without security.

I'm pretty sure the client sees the correct axis2.xml (where the security module is engaged and the required security settings are specified). I can do this either by specifying -Daxis2.xml=... on the java command line or by supplying the axis2.xml path as the 2nd parameter to createConfigurationContextFromFileSystem in the client source.

I think my problem is that the client is not finding a 'repository'.

If I don't specify a repository I get the "Trying to engage a module ..." errors, which seems reasonable since I haven't told the client where to look.

If I specify the repository as the 1st parameter to createConfigurationContextFromFileSystem then I get a NullPointerException
from ServiceGroupContext.getServiceContext(ServiceGroupContext.java:59)

On the face of it this looks like a bug in Axis2. Can anyone tell me:
- have I missed something (e.g. did I get the security module from the wrong place? Am I missing some environment settings?)
- how I might get any more information about the cause of the problem
- whether I should try RC4
- if anyone could send me any simple client code which works for them?

Many thanks
Rob
----- Original Message ----- From: "Rob Henley" <[EMAIL PROTECTED]>
To: <axis-user@ws.apache.org>
Sent: Sunday, April 30, 2006 9:33 PM
Subject: Re: [Axis2] WSS4J - Trying to engage a module which is not available : addressing


Hi Ruchith
thanks - but with -Daxis2.xml=...\conf\axis2.xml I get the same error as before ...

org.apache.axis2.deployment.DeploymentException: Trying to engage a module which is not available : addressing; nested exception is: ...

So the question is why can't the client find the modules when the server can? I guess the problem is that the client doesn't know where the 'repository' is, where it would expect to find modules\*.mar.

But if I try to specify the repository as the first parameter to createConfigurationContextFromFileSystem ..

ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
   "C:\\Progra~1\\Apache\\Tomcat5.5\\webapps\\axis2\\WEB-INF",

"C:\\Progra~1\\Apache\\Tomcat5.5\\webapps\\axis2\\WEB-INF\\conf\\axis2.xml");

then I get
java.lang.NullPointerException
at org.apache.axis2.context.ServiceGroupContext.getServiceContext(ServiceGroupContext.java:59) at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:98)
       at org.apache.axis2.PurchasingStub.<init>(Unknown Source)
       at samples.purchasing1.ClientTest.main(Unknown Source)

I also tried adding the 'mar' files directly to the classpath (clutching at straws :-), but that doesn't help.

Cheers
Rob
----- Original Message ----- From: "Ruchith Fernando" <[EMAIL PROTECTED]>
To: <axis-user@ws.apache.org>
Sent: Sunday, April 30, 2006 7:54 AM
Subject: Re: [Axis2] WSS4J - Trying to engage a module which is not available : addressing


Hi Rob,

Can you please try specifying the path to the axis2.xml as shown below:

java ..... -Daxis2.xml=path/to/axis2.xml

Thanks,
Ruchith

On 4/30/06, Rob Henley <[EMAIL PROTECTED]> wrote:
Hi Ruchith
yes, I specify the module in axis2.xml. See below for relevant section of
the axis2.xml.
Cheers
Rob
----- Original Message -----
From: "Ruchith Fernando" <[EMAIL PROTECTED]>
To: <axis-user@ws.apache.org>
Sent: Saturday, April 29, 2006 7:15 AM
Subject: Re: [Axis2] WSS4J - Trying to engage a module which is not
available : addressing


Hi Rob,

Does your axis2.xml has the entry :
<module ref="security" /> . (If you are using RC4 this is <module
ref="aegis" />)

OR

Do you call engageModule() on the ServiceClient instance?

You MUST do either ONE of these to engage the module.

Thanks,
Ruchith

On 4/29/06, Rob Henley <[EMAIL PROTECTED]> wrote:
> Hi Deepal
> I tried your version, but I get an error from the server "Request does > not
> contain required Security header". This suggests to me that the client
> isn't
> using my axis2.xml, which includes:
>
>     <module ref="security"/>
>     <parameter name="InflowSecurity">
>       <action>
>         <items>Timestamp</items>
>       </action>
>     </parameter>
>     <parameter name="OutflowSecurity">
>       <action>
>         <items>Timestamp</items>
>       </action>
>     </parameter>
>
> By replacing the repo directory with null in the call, the client at > least
> appeared to be attempting to use the security module.
>
> Can you think of anything else I could try?
> Many thanks
> Rob
>
> Here is the full exception I get with the parameters you suggest ...
>
> org.apache.axis2.AxisFault: WSDoAllReceiver: Request does not contain
> required Security header
>         at
> 
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:286)
> at org.apache.axis2.PurchasingStub.purchaseOrder(Unknown > Source)
>         at samples.purchasing1.ClientTest.main(Unknown Source)
> Caused by: java.lang.Exception: org.apache.axis2.AxisFault:
> WSDoAllReceiver:
> Request does not contain required Security header
>         at
> 
org.apache.axis2.security.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:186)
>         at
> 
org.apache.axis2.security.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:82)
>         at org.apache.axis2.engine.Phase.invoke(Phase.java:378)
> at > org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:471) > at > org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:441)
>         at
> 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:283)
>         at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:130)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>         at
> 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
>         at
> 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Unknown Source)
>         at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
>
> ----- Original Message -----
> From: "Deepal Jayasinghe" <[EMAIL PROTECTED]>
> To: <axis-user@ws.apache.org>
> Sent: Friday, April 28, 2006 5:17 PM
> Subject: Re: [Axis2] WSS4J - Trying to engage a module which is not
> available : addressing
>
>
> > Try following
> > ConfigurationContext ctx =
> > 
ConfigurationContextFactory.createConfigurationContextFromFileSystem(C:\\Progra~1\\Apache\\Tomcat5.5\\webapps\\axis2\\WEB-INF",
> >
> > 
"C:\\Progra~1\\Apache\\Tomcat5.5\\webapps\\axis2\\WEB-INF\\conf\\axis2.xml");
> >
> > Rob Henley wrote:
> >
> >> I am having problems getting a client to work with security (RC2
> >> build). My most promising attempt so far is with the following > >> client
> >> code:
> >>
> >> ConfigurationContext ctx =
> >> ConfigurationContextFactory.createConfigurationContextFromFileSystem(null,
> >>
> >> 
"C:\\Progra~1\\Apache\\Tomcat5.5\\webapps\\axis2\\WEB-INF\\conf\\axis2.xml");
> >> PurchasingStub stub = new PurchasingStub(ctx,
> >> "http://localhost:8081/axis2/services/Purchasing";);
> >>
> >> Other combinations of parameters to
> >> createConfigurationContextFromFileSystem() have all resulted in
> >> either 'Request does not contain required Security header' from the
> >> server (implying to me that the client didn't use the specified
> >> axis2.xml) or a NullPointerException.
> >>
> >> With the above code I get:
> >>
> >> org.apache.axis2.deployment.DeploymentException: Trying to engage a
> >> module which is not available :addressing;
> >> nested exception is:
> >>   org.apache.axis2.AxisFault: Trying to engage a module which is not
> >> available : addressing
> >>   at
> >> 
org.apache.axis2.deployment.DeploymentEngine.loadFromClassPath(DeploymentEngine.java:132)
> >>
> >> addressing.mar etc are available in the modules directory and axis2 > >> is
> >> picking these up ok when I start tomcat. The problem is that the
> >> client is not finding the module. This probably means that the > >> client > >> has (at last :-) found my axis2.xml, so is a step forward. I've > >> tried > >> adding all the 'mar' files explicitly to the client classpath but > >> this
> >> doesn't seem to help.
> >>
> >> Possibly I need an environment variable? Any idea gratefully > >> received!
> >> Rob
> >>
> >
> >
> > --
> > Thanks,
> > Deepal
> > ................................................................
> > ~Future is Open~
> >
> >
> >
> >
> >
>
>
>














Reply via email to