Do you have the serviceClass parameter in both service elements

<serviceGroup>
<service name="service1">
<parameter name="serviceClass"
locked="xsd:false">stock.service.StockQuoteService</parameter>
</service>
<service name="service2">
<parameter name="serviceClass"
locked="xsd:false">stock.service.StockQuoteService2</parameter>
</service>
<serviceGroup>



Michele Mazzucco wrote:

>Hi Deepal,
>
>thanks very much for your help. Now that problem has been fixed, however
>at runtime the web service doesn't work any more (while if you provide a
>services.xml with a single service it does).
>
>On the client side I get the following exception:
>
>org.apache.axis2.AxisFault: SERVICE_CLASS parameter is not specified
>       at
>org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:286)
>       at
>org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:452)
>       at
>org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:394)
>       at client.BlockSingleGetQuote.main(BlockSingleGetQuote.java:42)
>Caused by: java.lang.Exception: org.apache.axis2.AxisFault:
>SERVICE_CLASS parameter is not specified
>       at
>org.apache.axis2.receivers.AbstractMessageReceiver.makeNewServiceObject(AbstractMessageReceiver.java:57)
>       at
>org.apache.axis2.receivers.AbstractMessageReceiver.getTheImplementationObject(AbstractMessageReceiver.java:90)
>       at
>org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogic(RawXMLINOutMessageReceiver.java:73)
>       at
>org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:450)
>       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:869)
>       at
>org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
>       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(Thread.java:595)
>
>       at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
>       ... 4 more
>
>
>where BlockSingleGetQuote.java:42 is
>
>OMElement result = sender.sendReceive(payload);
>
>while by pointing the browser to
>
>http://localhost:8080/axis2/services/StockQuoteService?wsdl
>
>I get an HTTP Status 500:
>
>javax.servlet.ServletException: null; nested exception is:
>       java.lang.NullPointerException
>       org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:105)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
>root cause
>
>org.apache.axis2.AxisFault: null; nested exception is:
>       java.lang.NullPointerException
>       org.apache.axis2.description.AxisService.getWSDL(AxisService.java:479)
>       org.apache.axis2.description.AxisService.printWSDL(AxisService.java:468)
>       
> org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:82)
>       
> org.apache.axis2.transport.http.ListingAgent.handle(ListingAgent.java:45)
>       org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:103)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
>
>
>Any idea?
>
>Thanks in advance,
>Michele
>
>Deepal Jayasinghe wrote:
>  
>
>>Hi Michele;
>>I found the problem, each service element in a servicegroup have to have
>>name attribute so if you apply my changes it will work
>>
>>
>>Michele Mazzucco wrote:
>>
>>    
>>
>>>Hi all,
>>>
>>>I'm using Axis2 1.0 RC2 and I'm having troubles with services.xml when I
>>>include more that one service.
>>>
>>>In particular, the services.xml below doesn't work (the .aar file is
>>>shown as "faulty service")
>>>
>>><?xml version="1.0" encoding="UTF-8"?>
>>>
>>><serviceGroup>
>>>     <service>
>>> 
>>>
>>>      
>>>
>>*<service name="StockQuoteService">*
>>
>>    
>>
>>>             <description>
>>>             First
>>>         </description>
>>>       <parameter name="serviceClass"
>>>locked="xsd:false">stock.service.StockQuoteService</parameter>
>>>                     
>>>       <operation name="getQuote">
>>>         <messageReceiver
>>>class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>>>       </operation>
>>>                     
>>>       <operation name="subscribe">
>>>         <messageReceiver
>>>class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
>>>       </operation>
>>>     </service>
>>>
>>>     <service>
>>> 
>>>
>>>      
>>>
>>*<service name="SchemaQuoteService">*
>>
>>    
>>
>>>             <description>Second</description>
>>>             <parameter name="serviceClass"
>>>locked="xsd:false">stock.service.SchemaQuoteService</parameter>
>>>             
>>>             <operation name="getQuote1">
>>>                     <messageReceiver
>>>class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>>>             </operation>
>>>             
>>>             <operation name="subscribe1">
>>>                     <messageReceiver
>>>class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
>>>             </operation>
>>>     </service>
>>>     
>>>     
>>>     <!-- <module ref="ModuleName" /> -->
>>>     <parameter name="serviceGroupParam1" locked="false">value 1</parameter>
>>></serviceGroup>
>>>
>>>Any idea?
>>>
>>>Thanks in advance,
>>>Michele
>>>
>>>
>>> 
>>>
>>>      
>>>
>
>
>  
>

-- 
Thanks,
Deepal
................................................................
~Future is Open~ 


Reply via email to