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