axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gihan Madushanka <gihang...@gmail.com>
Subject Re: Spring integration for Axis2
Date Fri, 17 May 2013 05:11:49 GMT
*

Hi Sagara,

Here I’m attaching a working sample using maven-jetty-plugin. Steps to run
this application are given below.

1.WSDL -  http://localhost:8080/services/WeatherSpringService?wsdl

2.REST Access -
http://localhost:8080/services/WeatherSpringService/getTodaysWeather

Please review and provide your comments .


Regards,

Gihan*

On Fri, May 3, 2013 at 2:13 PM, Sagara Gunathunga <
sagara.gunathunga@gmail.com> wrote:

>
>
> On Thu, May 2, 2013 at 10:21 PM, Gihan Madushanka <gihangsoc@gmail.com>wrote:
>
>> *
>>
>> Hi Sagara,
>>
>> Thank you very much for the hint.  I managed to fix that  issue by
>> introducing following modification into ConfigurationContextFactoryBean
>> class.
>>
>> if (transportOutDescriptions != null) {
>>
>>            for (TransportOutDescription description :
>> transportOutDescriptions) {
>>
>>             description.getSender().init(configurationContext,
>> description);
>>
>>                config.addTransportOut(description);
>>
>>            }
>>
>>         }
>> *
>
>
> Great ! IMHO it's better to write Spring based AxisConfigurator and create
> ConfigurationContext out of it, but initial level it's ok to continue with
> above approach.
>
>
>> *
>>
>>
>> Also after reading some tutorials I started to write a Servlet called
>> SpringAxis2Servlet extending from AxisServlet to try Servlet based samples.
>>  As I fully engage to proposal preparation during these days I couldn’t
>> complete the task fully but I have done following steps. I hope this is
>> right direction to follow if not please let me know about my mistakes.
>>
>>
>>
>> 1. Define Application context as a context-param to use with
>> ContextLoaderListener
>>
>>
>>   <context-param>
>>
>>    <param-name>contextConfigLocation</param-name>
>>
>>    <param-value>/WEB-INF/app-context.xml</param-value>
>>
>>  </context-param>
>>
>>   <listener>
>>
>>
>>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
>>
>>  </listener>
>>
>>
>>
>> 2. Wrote SpringAxis2Servlet estending AxisServlet. In here I try to
>> access loaded ConfigurationContext.
>>
>>
>>
>> protected ConfigurationContext initConfigContext(ServletConfig config)
>>
>>   throws ServletException {
>>
>>  ServletContext servletContext = servletConfig.getServletContext();
>>
>>  ApplicationContext applicationContext = WebApplicationContextUtils
>>
>>   .getWebApplicationContext(servletContext);
>>
>>  ConfigurationContext configurationContext = (ConfigurationContext)
>> applicationContext
>>
>>   .getBeansOfType(ConfigurationContext.class).values().iterator()
>>
>>   .next();
>>
>>  return configurationContext;
>>
>> }
>>
>> I used Maven Jetty Plugin as the web server I can see server starting but
>> when send a SOAP message to the server it throws exception saying "Service
>> not found ". I will fix this issue and let you know the result.
>> *
>
>
> It seems your direction is correct to me. If you can debug the runtime
> while sending a message you may get a pointer. BTW If you can provide your
> sample code I can  take  a look.
>
> Thanks !
>
>> *
>>
>> Regards,
>>
>> Gihan
>>
>> *
>>
>> On Tue, Apr 23, 2013 at 2:16 AM, Sagara Gunathunga <
>> sagara.gunathunga@gmail.com> wrote:
>>
>>>
>>>
>>> On Mon, Apr 22, 2013 at 11:40 PM, Gihan Madushanka <gihangsoc@gmail.com>wrote:
>>>
>>>>
>>>> Hi Sagara,
>>>>
>>>> Since I’m new to both Axis2 and Spring It took several days for me to
>>>> understand source codes available  as “axis2-spring-core” .  It would
be
>>>> great if you can provide some feedback based on following items which
>>>> I completed so far.
>>>>
>>>> 1. I changed Axis2 version into “1.7.0-SNAPSHOT” from “SNAPSHOT”
but
>>>> getting following build error when build with Maven. I'm not sure is it
>>>> related to my Maven installation.
>>>>
>>>> -------------------------------------------------------
>>>>
>>>> T E S T S
>>>>
>>>> -------------------------------------------------------
>>>>
>>>> Running
>>>> org.apache.axis2.spring.service.WebServiceAnnotationBeanPostProcessorTest
>>>>
>>>> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.694
>>>> sec <<< FAILURE!
>>>>
>>>> test(org.apache.axis2.spring.service.WebServiceAnnotationBeanPostProcessorTest)
>>>>  Time elapsed: 1.662 sec  <<< FAILURE!
>>>>
>>>> junit.framework.AssertionFailedError: null
>>>>
>>>>     at junit.framework.Assert.fail(Assert.java:48)
>>>>
>>>>    at junit.framework.Assert.assertTrue(Assert.java:20)
>>>>
>>>>    at junit.framework.Assert.assertTrue(Assert.java:27)
>>>>
>>>>     at
>>>> org.apache.axis2.spring.service.WebServiceAnnotationBeanPostProcessorTest.test(WebServiceAnnotationBeanPostProcessorTest.java:35)
>>>>
>>>> Running org.apache.axis2.spring.cfgctx.MultiConfigurationTest
>>>>
>>>> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.241
>>>> sec
>>>>
>>>> Results :
>>>>
>>>> Failed tests:
>>>>
>>>>  WebServiceAnnotationBeanPostProcessorTest.test:35 null
>>>>
>>>
>>> I will take a look but let's just focus on your 2. now.
>>>
>>>>
>>>>
>>>> 2. I managed to execute WeatherServiceRunner class and got the WSDL
>>>> (Link - http://localhost:6060/axis2/services/WeatherSpringService?wsdl)
>>>> but when I call the web service as a REST service I got following exception.
>>>>
>>>> java.lang.NullPointerException
>>>>
>>>>    at
>>>> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:193)
>>>>
>>>>    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
>>>>
>>>>     at
>>>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43)
>>>>
>>>>     at
>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:106)
>>>>
>>>>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:242)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:184)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:276)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:281)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:187)
>>>>
>>>>     at
>>>> org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:82)
>>>>
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>
>>>>     at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>
>>>>     at java.lang.Thread.run(Thread.java:662)
>>>>
>>>>
>>>> I  appreciate if you can help me to fix above issues.
>>>>
>>>
>>> I guess you are missing some settings in ConfigurationContextFactoryBean
>>> class, why don't you try to debug this code  as your first step ? Also it
>>> would be a good experience to try out how you could use above code in a
>>> Servlet  application instead of standalone application.
>>>
>>> Thanks !
>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Gihan
>>>>
>>>>
>>>> On Mon, Apr 15, 2013 at 11:10 PM, Gihan Madushanka <gihangsoc@gmail.com
>>>> > wrote:
>>>>
>>>>> *
>>>>>
>>>>> HI Sagara,
>>>>>
>>>>> First of all thanks a lot for your quick response, details you
>>>>> provided are really valuable to me. I will study and try to test the
new
>>>>> code base you provided in your mail.  As you informed I have created
a jira
>>>>> here https://issues.apache.org/jira/browse/AXIS2-5510 please kind
>>>>> enough to check it and correct any mistake. *
>>>>>
>>>>> Regards,
>>>>>
>>>>>
>>>>> Gihan
>>>>>
>>>>> On Mon, Apr 15, 2013 at 9:57 PM, Sagara Gunathunga <
>>>>> sagara.gunathunga@gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 15, 2013 at 8:53 PM, Gihan Madushanka <
>>>>>> gihangsoc@gmail.com> wrote:
>>>>>>
>>>>>>> Hi All,
>>>>>>>
>>>>>>>
>>>>>>> I'm Gihan Madushanka  an undergraduate and planning to participate
>>>>>>> GSoC 2013 program. I'm planning to develop a new Spring integration
project
>>>>>>> for Axis2 based on two 3rd party projects called  WSO2 WSF-Spring
and
>>>>>>> Axis2M. In present both the above projects seem not active also
I noticed
>>>>>>> that there were few discussions happened on Axis2 developer mailing
list
>>>>>>> time to time but didn't make continuous progress.
>>>>>>>
>>>>>>
>>>>>>   This idea still on my TO-Do list for a long time. I'm definitely
>>>>>> happy to see this project as a Axis2 module and probably I can be
a mentor
>>>>>> too.
>>>>>>
>>>>>>
>>>>>>>  I have studied  Axis2M code base up to some extend and managed
to
>>>>>>> run samples mentioned here http://axis2m.sourceforge.net/spring.htmlfurther
I'm planning to start my initial tasks around this code base. I
>>>>>>> found following http://wso2.org/projects/wsf/spring page and
>>>>>>> http://wso2.org/library/3208 tutorial  about WSO2 WSF-Spring
but
>>>>>>> couldn't find neither code base or downloads.
>>>>>>>
>>>>>>
>>>>>>  WSF Spring code base moved to  Github, you can find link for new
>>>>>> code base from here[1].
>>>>>>
>>>>>>>
>>>>>>> For the moment I found following points as objectives of this
>>>>>>> projects.
>>>>>>>
>>>>>>>
>>>>>>> 1.) Use Spring application context file to configure Axis2 framework
>>>>>>> without using axis2.xml file.
>>>>>>>
>>>>>>> 2.) Use Spring application context file to add Axis2 web services
>>>>>>> and Axis2 modules.
>>>>>>>
>>>>>>> 3.) Use Spring application context file to access Axis2 web service
>>>>>>> from client side.
>>>>>>>
>>>>>>
>>>>>> It's completely Ok to study both Axis2M, WSF Spring projects and
get
>>>>>> start your effort around those code bases but I would encourage you
to take
>>>>>> a look on this code base on Axis2 scratch area. This new code base
was
>>>>>> developed by merging best ideas of both of above projects plus some
new
>>>>>> ideas such as component scanning for JSR 181 beans, personally I
believe
>>>>>> scratch project is much cleaner and more close to Spring practices
so
>>>>>> better to use this code as you initial code base.
>>>>>>
>>>>>> Please refer following thread[3] if you haven't find it yet, also
>>>>>> following wiki  page [4] may helpful. BTW can you create a JIRA issue
>>>>>> here[5]  so that I can add more content there ?
>>>>>>
>>>>>>
>>>>>> [1] - https://github.com/wso2/wsf/tree/master/spring
>>>>>> [2] -
>>>>>> https://svn.apache.org/repos/asf/axis/axis2/java/core/scratch/java/veithen/spring/axis2-spring-core/
>>>>>> [3] - http://markmail.org/message/bghry2tpxuinpu25
>>>>>> [4] - http://wiki.apache.org/axis/Axis2Spring
>>>>>> [5] - https://issues.apache.org/jira/browse/AXIS2
>>>>>>
>>>>>> Thanks !
>>>>>>
>>>>>>>
>>>>>>> I  appreciate if you can help me to find more objectives and
to
>>>>>>> identify scope and priority of  above objectives. Further please
let me
>>>>>>> know the procedure which  I should follow before  submitting
my proposal to
>>>>>>> GSoC program.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>>
>>>>>>> Gihan
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sagara Gunathunga
>>>>>>
>>>>>> Blog      - http://ssagara.blogspot.com
>>>>>> Web      - http://people.apache.org/~sagara/
>>>>>> LinkedIn - http://www.linkedin.com/in/ssagara
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Sagara Gunathunga
>>>
>>> Blog      - http://ssagara.blogspot.com
>>> Web      - http://people.apache.org/~sagara/
>>> LinkedIn - http://www.linkedin.com/in/ssagara
>>>
>>
>>
>
>
> --
> Sagara Gunathunga
>
> Blog      - http://ssagara.blogspot.com
> Web      - http://people.apache.org/~sagara/
> LinkedIn - http://www.linkedin.com/in/ssagara
>

Mime
View raw message