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
>>
>>
>>  
>>
> 

Reply via email to