Service invocation fails when original wsdl is included in the service archive 
and generate client code using ?wsdl
-------------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-2415
                 URL: https://issues.apache.org/jira/browse/AXIS2-2415
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: wsdl
    Affects Versions: 1.2
         Environment: winxp, jdk15, tomcat 6.0.10
            Reporter: Charitha Kankanamge


I observed the following behavior in axis2-1.2 RC1 and seems to be a bug. I 
noticed that the wsdl file generated by java2wsdl and ?wsdl are different even 
if the service implementation class is same. 

I deployed a service and generated client using the wsdl2java by specifying 
http://localhost:8080/axis2/services/servicename?wsdl as url. 
Then I wrote a java client and accessed the service successfully.
After that, I generated the wsdl of the same service by using java2wsdl command.
Then I added the generated wsdl in to the META-INF directory of the service 
archive and set useOriginalwsdl=true in services.xml
Restarted the tomcat server and sent the same request through the java client 
which was written previously.

Then the following exception was thrown and listed in tomcat server console.

SEVERE: Exception occurred while trying to invoke service method addnumbers
java.lang.IllegalArgumentException: wrong number of arguments
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:95)
        at 
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:39)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:144)
        at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:279)
        at 
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:116)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
        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.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
        at java.lang.Thread.run(Thread.java:595)

Steps to reproduce:
================
1. Deploy a service archive
2. Generate client stubs using wsdl2java by specifying ?wsdl url of the service 
(-uri http://localhost:8080/axis2/services/MyAxisservice?wsdl) and write a 
client
3. Invoke the service. This should be successful.
4. Now generate the wsdl using same service implementation class (java2wsdl)
ie:- java2wsdl -cn Mathsclass -o C:\Axis2\axis2-1.2-RC1\bin\out -cp . -sn 
MyAxisservice
5. Add the generated wsdl in to service archive and set useOriginalwsdl=true in 
services.xml
6. Redeploy the same service and invoked it through the above client

Please find the attached wsdl files for more information

1. Mathsclass-doc.wsdl is the wsdl generated by java2wsdl command
2. MyAxisservice.wsdl is the one generated by ?wsdl




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to