Amit
You seem to have cut out the phases from axis2.xml. The config needs
the phases defined. That is how it figures out how to interleave the
security handlers. If you take the standard axis2.xml and add those
lines:
<module ref="rampart" />
<parameter name="OutflowSecurity">
<action>
<items>UsernameToken Timestamp</items>
<user>wfws</user>
<passwordCallbackClass>com.test.PWCallback</passwordCallbackClass>
</action>
</parameter>
Paul
On 12/28/06, Amit G Soni <[EMAIL PROTECTED]> wrote:
Hi Paul,
Thanks a lot for all of your help.
I have executed the same wsdl with axis-1.4 successfully but in axis2 it
gives these error. I between I have downloaded the rampart-1.0.mar file
but when I am running following line of code it gives me exception.
ConfigurationContext context = ConfigurationContextFactory
.createConfigurationContextFromFileSystem(
"resources", "resources/axis2.xml");
log4j:WARN No appenders could be found for logger
(org.apache.axiom.om.impl.builder.StAXOMBuilder).
log4j:WARN Please initialize the log4j system properly.
org.apache.axis2.deployment.DeploymentException: Invalid phases please
recheck axis2.xml {0} for the handler {1}; nested exception is:
org.apache.axis2.deployment.DeploymentException: Invalid phases
please recheck axis2.xml {0} for the handler {1}
at
org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEn
gine.java:117)
at
org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(
FileSystemConfigurator.java:120)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
Context(ConfigurationContextFactory.java:38)
at
org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
ContextFromFileSystem(ConfigurationContextFactory.java:90)
at com.test.TestClient.main(TestClient.java:15)
Caused by: org.apache.axis2.deployment.DeploymentException: Invalid
phases please recheck axis2.xml {0} for the handler {1}
at
org.apache.axis2.deployment.util.PhasesInfo.getGlobalInflow(PhasesInfo.j
ava:111)
at
org.apache.axis2.deployment.DeploymentEngine.validateSystemPredefinedPha
ses(DeploymentEngine.java:817)
at
org.apache.axis2.deployment.DeploymentEngine.loadRepository(DeploymentEn
gine.java:115)
... 4 more
Exception in thread "main"
I have attached the axis2.xml file along with this also.
Thanks,
Amit Soni
-----Original Message-----
From: Paul Fremantle [mailto:[EMAIL PROTECTED]
Sent: Thursday, December 28, 2006 8:01 PM
To: [email protected]
Subject: Re: soap header in axis2
Amit
You seem to have found a bug in the WSDL2Java toolkit. I can't see
anything obviously wrong with your WSDL, and it validates with both
Eclipse and Axis1.4. Can you please raise a JIRA including your
WSDL/XSDs as an attachment?
Here is the link to rampart1.0 in the meantime:
http://apache.rmplc.co.uk/ws/axis2/modules/rampart/1_0/rampart-1.0.mar
Paul
On 12/28/06, Amit G Soni <[EMAIL PROTECTED]> wrote:
> Hi Paul,
>
> I am trying to find rampath-1.0 but I am not able to fine any link
from
> which version 1.0 I can download.
>
> But after that I am trying the same with Axis2-1.1
>
> But in this case it gives me following exception.
>
> C:\axis211>wsdl2java -uri c:\test\CardholderService.wsdl -p com.test
-d
> none
> Using AXIS2_HOME: C:\Java\axis2-1.1
> Using JAVA_HOME: C:\Java\j2sdk1.4.2_13
> Retrieving schema at 'CardholderData.xsd', relative to
'file:/c:/test/'.
> Retrieving schema at 'CardholderMessages.xsd', relative to
> 'file:/c:/test/'.
> Retrieving schema at 'CardholderData.xsd', relative to
> 'file:/c:/test/CardholderMessages.xsd'.
> Retrieving schema at 'OperationResults.xsd', relative to
> 'file:/c:/test/CardholderMessages.xsd'.
> Retrieving schema at 'OperationResults.xsd', relative to
> 'file:/c:/test/'.
> Dec 28, 2006 7:10:25 PM
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder
populateService
> SEVERE: java.lang.NullPointerException
> Exception in thread "main"
> org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing
> WSDL
> at
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGeneration
> Engine.java:112)
> at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
> at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
> Caused by: org.apache.axis2.AxisFault: null; nested exception is:
> java.lang.NullPointerException
> at
>
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(
> WSDL11ToAxisServiceBuilder.java:250)
> at
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGeneration
> Engine.java:103)
> ... 2 more
> Caused by: java.lang.NullPointerException
> at
>
org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(
> WSDL11ToAxisServiceBuilder.java:235)
> ... 3 more
>
> Can you have any idea why it is happens.
>
> I am also attaching my wsdl file along with the mail.
>
> Thanks,
> Amit Soni
>
>
> -----Original Message-----
> From: Paul Fremantle [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 28, 2006 6:30 PM
> To: [email protected]
> Subject: Re: soap header in axis2
>
> Amit
>
> No, rampart 1.1 is expected to be used with Axis2 1.1.
>
> If you can move to 1.1 you should, because of the large number of bugs
> fixed!
>
> Otherwise there is rampart1.0 available.
>
> Paul
>
> On 12/28/06, Amit G Soni <[EMAIL PROTECTED]> wrote:
> > Hi Paul,
> >
> > Thanks, for reply.
> >
> > I am using axis2-1.0.
> >
> > Is rampart1.1 is compatible with axis2-1.0 because I am getting some
> > errors when I am initializing the Configuration. I have attached the
> > axis2.xml file along with the mail. Following line of code gives me
an
> > error.
> >
> >
> > ConfigurationContext context = ConfigurationContextFactory
> > .createConfigurationContextFromFileSystem(
> > "resources", "resources/axis2.xml");
> >
> > If you have some idea then please let me know.
> >
> >
> > axis2.xml
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <axisconfig name="AxisJava2.0">
> > <module ref="rampart" />
> > <parameter name="OutflowSecurity">
> > <action>
> > <items>UsernameToken Timestamp</items>
> > <user>wfws</user>
> >
> > <passwordCallbackClass>com.test.PWCallback</passwordCallbackClass>
> > </action>
> > </parameter>
> >
> > <parameter name="hotdeployment" locked="false">true</parameter>
> > <parameter name="hotupdate" locked="false">false</parameter>
> > <parameter name="enableMTOM" locked="false">false</parameter>
> > <parameter name="sendStacktraceDetailsWithFaults"
> > locked="false">true</parameter>
> > <parameter name="DrillDownToRootCauseForFaultReason"
> > locked="false">false</parameter>
> > <parameter name="userName" locked="false">admin</parameter>
> > <parameter name="password" locked="false">axis2</parameter>
> > <parameter name="manageTransportSession"
> > locked="false">false</parameter>
> > <parameter name="enableRESTInAxis2MainServlet"
> > locked="true">true</parameter>
> > <parameter name="disableREST" locked="true">false</parameter>
> > <parameter name="disableSeparateEndpointForREST"
> > locked="true">false</parameter>
> >
> > <messageReceivers>
> > <messageReceiver
mep="http://www.w3.org/2004/08/wsdl/in-only"
> >
> > class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
> > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
> >
> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
> > </messageReceivers>
> >
> > <transportReceiver name="http"
> >
> > class="org.apache.axis2.transport.http.SimpleHTTPServer">
> > <parameter name="port" locked="false">6060</parameter>
> > </transportReceiver>
> >
> > <transportReceiver name="tcp"
> >
> class="org.apache.axis2.transport.tcp.TCPServer">
> > <parameter name="port" locked="false">6061</parameter>
> > </transportReceiver>
> >
> > <transportSender name="jms"
> >
> class="org.apache.axis2.transport.jms.JMSSender"/>
> > <transportSender name="tcp"
> >
> > class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
> > <transportSender name="local"
> >
> > class="org.apache.axis2.transport.local.LocalTransportSender"/>
> > <transportSender name="http"
> >
> > class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> > <parameter name="PROTOCOL"
locked="false">HTTP/1.1</parameter>
> > <parameter name="Transfer-Encoding"
> > locked="false">chunked</parameter>
> > </transportSender>
> > <transportSender name="https"
> >
> > class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
> > <parameter name="PROTOCOL"
locked="false">HTTP/1.1</parameter>
> > <parameter name="Transfer-Encoding"
> > locked="false">chunked</parameter>
> > </transportSender>
> >
> > <phaseOrder type="InFlow">
> > <!-- System pre-defined phases -->
> > <phase name="Transport">
> > <handler name="RequestURIBasedDispatcher"
> >
> > class="org.apache.axis2.engine.RequestURIBasedDispatcher">
> > <order phase="Transport"/>
> > </handler>
> > <handler name="SOAPActionBasedDispatcher"
> >
> > class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
> > <order phase="Transport"/>
> > </handler>
> > </phase>
> > <phase name="Security"/>
> > <phase name="PreDispatch"/>
> > <phase name="Dispatch"
> > class="org.apache.axis2.engine.DispatchPhase">
> > <handler name="AddressingBasedDispatcher"
> >
> > class="org.apache.axis2.engine.AddressingBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> >
> > <handler name="SOAPMessageBodyBasedDispatcher"
> >
> > class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> > <handler name="InstanceDispatcher"
> >
> class="org.apache.axis2.engine.InstanceDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> > </phase>
> > <phase name="OperationInPhase"/>
> > </phaseOrder>
> > <phaseOrder type="OutFlow">
> > <phase name="OperationOutPhase"/>
> > <phase name="PolicyDetermination"/>
> > <phase name="MessageOut"/>
> > <phase name="Security"/>
> > </phaseOrder>
> > <phaseOrder type="InFaultFlow">
> > <phase name="PreDispatch"/>
> > <phase name="Dispatch"
> > class="org.apache.axis2.engine.DispatchPhase">
> > <handler name="RequestURIBasedDispatcher"
> >
> > class="org.apache.axis2.engine.RequestURIBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> >
> > <handler name="SOAPActionBasedDispatcher"
> >
> > class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> >
> > <handler name="AddressingBasedDispatcher"
> >
> > class="org.apache.axis2.engine.AddressingBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> >
> > <handler name="SOAPMessageBodyBasedDispatcher"
> >
> > class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> > <handler name="InstanceDispatcher"
> >
> class="org.apache.axis2.engine.InstanceDispatcher">
> > <order phase="Dispatch"/>
> > </handler>
> > </phase>
> > <phase name="OperationInFaultPhase"/>
> > </phaseOrder>
> > <phaseOrder type="OutFaultFlow">
> > <phase name="OperationOutFaultPhase"/>
> > <phase name="PolicyDetermination"/>
> > <phase name="MessageOut"/>
> > </phaseOrder>
> > </axisconfig>
> >
> >
> > Thanks,
> > Amit Soni
> >
> >
> >
> >
> > -----Original Message-----
> > From: Paul Fremantle [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, December 28, 2006 4:17 PM
> > To: [email protected]
> > Subject: Re: soap header in axis2
> >
> > Amit
> >
> > You need to engage the addressing and rampart (security) modules.
> > These modules add in the correct headers.
> >
> > The addressing module is shipped as part of the core axis2 distro.
You
> > just need to add it into your classpath. The correct action and to
> > headers should be described in the WSDL and should appear
> > automatically.
> >
> > Rampart (security headers) is a bit trickier. You can find the
rampart
> > module here:
> >
> >
>
http://www.apache.org/dyn/mirrors/mirrors.cgi/ws/rampart/1_1/rampart-1.1
> > .zip
> >
> > If you look in the samples the BASIC sample number 2,
> > (\samples\basic\sample02) shows how to enable username/token. You
> > should do sample01 as well first.
> >
> > Paul
> >
> >
> > On 12/28/06, Amit G Soni <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > >
> > >
> > > Hi list,
> > >
> > >
> > >
> > > I am generating axis2 client from Server WSDL. But server side
they
> > require
> > > security and some soap header. The way I have implemented the
client
> > is
> > >
> > >
> > >
> > > wsdl2java -uri c:\test\MyService.wsdl -p com.test -d xmlbeans
> > >
> > >
> > >
> > > After this I wrote my own test client class.
> > >
> > >
> > >
> > > package com.test;
> > >
> > >
> > >
> > > import
> > > com.xxx.services.my.v1.messages.HelloWorldRequestDocument;
> > >
> > > import
> > >
> >
>
com.xxx.services.my.v1.messages.HelloWorldRequestDocument.HelloWorldRequ
> > est;
> > >
> > >
> > >
> > > public class TestClient {
> > >
> > > public static void main(String args[]) {
> > >
> > > try {
> > >
> > > MyServicePortStub stub = new
> > > MyServicePortStub();
> > >
> > >
> > >
> > >
> > > HelloWorldRequestDocument req =
> > > HelloWorldRequestDocument.Factory.newInstance();
> > >
> > > HelloWorldRequest r =
> > > req.addNewHelloWorldRequest();
> > >
> > >
> > > r.setOptionalMessage("testmessage");
> > >
> > > stub.helloWorld(req);
> > >
> > > }catch(Exception e) {
> > >
> > > e.printStackTrace();
> > >
> > > }
> > >
> > > }
> > >
> > > }
> > >
> > >
> > >
> > > Using this client I have monitored the soap request using
tcpmonitor
> > and the
> > > soap request is like
> > >
> > >
> > >
> > > <?xml version='1.0' encoding='UTF-8'?>
> > >
> > > <soapenv:Envelope
> > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> > >
> > > <soapenv:Header />
> > >
> > > <soapenv:Body>
> > >
> > > <helloWorldRequest
> > > xmlns="http://services.bennycentral.com/my/v1/messages">
> > >
> > > <OptionalMessage>testmessage</OptionalMessage>
> > >
> > > </helloWorldRequest>
> > >
> > > </soapenv:Body>
> > >
> > > </soapenv:Envelope>
> > >
> > >
> > >
> > > But I want to include following header elements in <soapenv:Header
> />
> > >
> > >
> > >
> > > <wsa:Action
> > > soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
> > > soapenv:mustUnderstand="1"
> > >
> >
>
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">http://serv
> > ices.xxx.com/xxx/v1:helloWorldIn</wsa:Action>
> > >
> > > <wsa:To>urn:EvolutionBenefits:Services:V1:xxxService</wsa:To>
> > >
> > >
> > >
> > > <wsse:Security soap:mustUnderstand = "1" xmlns:wsse =
> > >
> >
>
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-sece
> > xt-1.0.xsd">
> > >
> > > <wsse:UsernameToken xmlns:wsu =
> > >
> >
>
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-util
> > ity-1.0.xsd"
> > > wsu:Id =
> > > "SecurityToken-46eb6dc1-4792-4031-bc01-4692be8f1c2b">
> > >
> > > <wsse:Username>xxx</wsse:Username>
> > >
> > > <wsse:Password Type =
> > >
> >
>
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-
> > profile-1.0#PasswordText">xxx</wsse:Password>
> > >
> > > <wsse:Nonce>Ood0sa4w4gMvvA4MIK3Q7g==</wsse:Nonce>
> > >
> > > <wsu:Created>2005-12-08T23:46:20Z</wsu:Created>
> > >
> > > </wsse:UsernameToken>
> > >
> > > </wsse:Security>
> > >
> > >
> > >
> > > So any one of you has any idea of how to include above header
> elements
> > then
> > > please let me know.
> > >
> > >
> > >
> > > Thanks,
> > >
> > > Amit Soni
> >
> >
> > --
> > Paul Fremantle
> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> >
> > http://bloglines.com/blog/paulfremantle
> > [EMAIL PROTECTED]
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>
> http://bloglines.com/blog/paulfremantle
> [EMAIL PROTECTED]
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
[EMAIL PROTECTED]
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]