[ https://issues.apache.org/jira/browse/AXIS2-2995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Pollmeier updated AXIS2-2995: ------------------------------------- Attachment: wsdl.zip example wsdl for this issue > Codegen bug with different namespaces (including proposed fix) > -------------------------------------------------------------- > > Key: AXIS2-2995 > URL: https://issues.apache.org/jira/browse/AXIS2-2995 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: codegen > Affects Versions: 1.2 > Environment: I already changed the JAXB RI jars to 2.1.3, but this > isn't the problem > Reporter: Michael Pollmeier > Attachments: wsdl.zip > > > Axis codegen has a problem when there are objects with the same name in > different namespaces. I will upload a sample wsdl. If you use wsdl2java to > create a service like this: wsdl2java -uri EVBService-2.0.1.0.wsdl -ss -sd -d > jaxbri -o service > you will get an exception on console: > Exception in thread "main" > org.apache.axis2.wsdl.codegen.CodeGenerationException: > java.lang.RuntimeException: java.lang. > reflect.InvocationTargetException > at > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:256) > at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32) > at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21) > Caused by: java.lang.RuntimeException: > java.lang.reflect.InvocationTargetException > at > org.apache.axis2.wsdl.codegen.extension.JAXBRIExtension.engage(JAXBRIExtension.java:109) > at > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:209) > ... 2 more > Caused by: java.lang.reflect.InvocationTargetException > 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.wsdl.codegen.extension.JAXBRIExtension.engage(JAXBRIExtension.java:98) > ... 3 more > Caused by: java.lang.RuntimeException: java.lang.NullPointerException > at > org.apache.axis2.jaxbri.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:126) > ... 8 more > Caused by: java.lang.NullPointerException > at > org.apache.axis2.jaxbri.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:105) > ... 8 more > ... which seems to be an "optimizable" design, because you do not see the > real exception. When I debugged the code I got the real exception: > >>>>>>> > org.xml.sax.SAXParseException: A class/interface with the same name > "net.bipro.www.namespace.evb.CTStatusResponse" is already in use. Use a class > customization to resolve this conflict. > <<<<<<<<<<<<< > I saw that JAXBs XJC compiler does not have any problems with our schema, so > there had to be a difference of parameters between xjc batch and axis2 > codegen. So I found out that if you comment out the statement > "sc.setDefaultPackageName(pkg);" in CodeGenerationUtility:processSchemas(), > everything is generated just fine! > This might have some side effects, so someone who really knows what happens > down the code should have a look at this. Maybe a solution would be to have > another command line parameter for wsdl2java to not set the default package. > There is another, smaller problem which occurs when you use my bugfix: when > the code is generated, the message receiver class cannot be compiled because > of an obviously wrong code: the method toOM() needs three parameters, but > only two are submitted: toOM(e.getFaultMessage(),false)); > If you change it to toOM(e.getFaultMessage(), getSOAPFactory(msgContext), > false), everything can be compiled and works. -- 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]