Hi, I have noticed following problems with your approach. 1.) You have placed service.xml file in a wrong place , it should be like this /mysite/META-INF/services/services.xml . ( refer [1] to get familiar with correct directory structure )
2.)As a suggestion in DataSetServiceEnquiry class you can expose your web service as a POJO method. Axis2 supports for exposing Spring beans (POJO) as web services, here you don't need to deal with OMElement unless you really want to do so . instead of public OMElement getValue(OMElement ignore) method, simply you can use following method with RPCMessageReceiver (in service.xml). public String getValue(){ return this.dataSetEnquiryManager.getValue(); } 3.) you haven't mention any thing about web.xml file or how you deploy your service whether it as a WAR archive or as a AAR archive ? [1] - http://www.developer.com/open/article.php/3777111 Thanks , On Wed, Jul 29, 2009 at 8:44 AM, sam wong<samwon...@gmail.com> wrote: > hi,Sagara > first , my web site is working. > > 1. Spring Bean > > public interface IDataSetEnquiryManager { > public String getValue(); > } > public class DataSetEnquiryManagerImpl implements IDataSetEnquiryManager { > public String getValue(){ > return "TEST"; > } > } > > applicationContext.xml is: > > <bean id="DataSetServiceEnquiry" > class="com.eadi.ws.DataSetServiceEnquiry"> > <property name="dataSetEnquiryManager"> > <ref bean="dataSetEnquiryManager" /> > </property> > </bean> > <bean id="dataSetEnquiryManager" > class="com.eadi.service.impl.DataSetEnquiryManagerImpl"> > </bean> > > 2. web service class, > > DataSetServiceEnquiry.java : > > package com.eadi.ws; > import org.apache.axiom.om.OMAbstractFactory; > import org.apache.axiom.om.OMElement; > import org.apache.axiom.om.OMFactory; > import org.apache.axiom.om.OMNamespace; > import org.apache.axiom.om.OMText; > > import com.eadi.service.IDataSetEnquiryManager; > public class DataSetServiceEnquiry { > private IDataSetEnquiryManager dataSetEnquiryManager = null; > public IDataSetEnquiryManager getDataSetEnquiryManager() { > return dataSetEnquiryManager; > } > public void setDataSetEnquiryManager( > IDataSetEnquiryManager dataSetEnquiryManager) { > this.dataSetEnquiryManager = dataSetEnquiryManager; > } > // The web service > public OMElement getValue(OMElement ignore) { > OMFactory factory=OMAbstractFactory.getOMFactory(); > OMNamespace payloadNs= > factory.createOMNamespace("http://ws.eadi.com/datasetenquiry", > "datasetenquiry"); > OMElement payload =factory.createOMElement("string", payloadNs); > OMText response = > factory.createOMText(this.dataSetEnquiryManager.getValue()); > payload.addChild(response); > return payload; > } > } > > > > 3. add services.xml to /mysite/META-INF/services.xml > > <serviceGroup> > <service name="DataSetServiceEnquiry"> > <description> > simple spring example > </description> > <parameter > name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter> > <parameter name="SpringBeanName">dataSetServiceEnquiry</parameter> > <operation name="getValue"> > <messageReceiver > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> > </operation> > </service> > </serviceGroup> > > > > 4. open url in browser : > http://localhost:8080/EADIWeb/services/DataSetServiceEnquiry?wsdl > > > and got error result: > > 11:09:14,877 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception > javax.servlet.ServletException: File > "/axis2-web/listSingleService.jsp" not found > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654) > at > org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557) > at > org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481) > at > org.apache.axis2.transport.http.AbstractAgent.renderView(AbstractAgent.java:121) > at > org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:407) > at > org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:242) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at com.eadi.web.bean.SessionFilter.doFilter(SessionFilter.java:98) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) > at java.lang.Thread.run(Thread.java:595) > 11:09:14,877 INFO [STDOUT] 2009-07-29 11:09:14,877 INFO > [org.apache.axis2.transport.http.AbstractAgent] - Old Servlet API > :javax.servlet.ServletException: File > "/axis2-web/listSingleService.jsp" not found > > > > > 2009/7/29 Sagara Gunathunga <sagara.gunathu...@gmail.com>: >> AFAIK there is no any restriction with Spring 2.5 or any other version >> , i don't think you will encounter any version problem. As i remember >> i have used Spring 2.5.6 without any problems, so you better to try >> out first and write back to the list if you get any issue. >> >> Thanks , >> >> On Wed, Jul 29, 2009 at 6:57 AM, sam wong<samwon...@gmail.com> wrote: >>> hi,Sagara, >>> >>> I found this in the sample page :Spring versions 1.2.6, 1.2.8 and 2.0 >>> have been tested, but probably any version would work as only the core >>> functionality is required. >>> >>> I am using spring 2.5, >>> current axis2 version is not support spring 2.5 ? >>> >>> >>> >>> Best & Regards, >>> Sam Wong >>> >>> >>> >>> >>> >>> 2009/7/29 Sagara Gunathunga <sagara.gunathu...@gmail.com>: >>>> Hi , >>>> You can write your functions with Spring/Hibernate as usual and then >>>> possible to expose your Spring services ( a bean) as a web service >>>> using Axis2 -Spring integration. >>>> >>>> Basically you have to do following two steps. >>>> >>>> 1.) Like in any other web framework define the Spring >>>> ContextLoaderListener in the web.xml file in order to load the Spring >>>> ApplicationContext. >>>> >>>> 2.) Define SpringServletContextObjectSupplier as the >>>> ServiceObjectSupplier for your web service , you can define this in >>>> the axis2 service.xml file. >>>> >>>> please refer[1] for details and code samples. >>>> >>>> [1] - http://ws.apache.org/axis2/1_5/spring.html >>>> >>>> Thanks , >>>> >>>> On Tue, Jul 28, 2009 at 11:16 PM, sam wong<samwon...@gmail.com> wrote: >>>>> hi, everybody, >>>>> >>>>> I hava a web project writing with Spring2.5+Hibernate >>>>> some function need publish as WebService. >>>>> I want to use Axis2 to impletment this. >>>>> >>>>> >>>>> anybody can give me some Tutorial about this? >>>>> >>>>> >>>>> >>>>> thanks a lot.. >>>>> >>>>> >>>>> >>>>> Sam Wong. >>>>> >>>> >>>> >>>> >>>> -- >>>> Sagara Gunathunga >>>> >>>> Blog - http://ssagara.blogspot.com >>>> Web - http://sagaras.awardspace.com/ >>>> >>> >> >> >> >> -- >> Sagara Gunathunga >> >> Blog - http://ssagara.blogspot.com >> Web - http://sagaras.awardspace.com/ >> > -- Sagara Gunathunga Blog - http://ssagara.blogspot.com Web - http://sagaras.awardspace.com/