[ http://issues.apache.org/jira/browse/TUSCANY-42?page=all ]
Frank Budinsky resolved TUSCANY-42:
-----------------------------------
Resolution: Fixed
Sebastien, your patch is the right way to fix this. Thanks.
> Exception in JavaGenerator when generating SDO classes from a .wsdl file
> ------------------------------------------------------------------------
>
> Key: TUSCANY-42
> URL: http://issues.apache.org/jira/browse/TUSCANY-42
> Project: Tuscany
> Type: Bug
> Components: Java SDO Implementation
> Environment: Linux
> Reporter: Jean-Sebastien Delfino
> Assignee: Frank Budinsky
>
> To reproduce this problem pass a .wsdl file to JavaGenerator (instead of an
> .xsd). This is supposed to be supported but throws the following exception:
> java.lang.IllegalArgumentException
> at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:197)
> at
> org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:166)
> at
> org.apache.tuscany.sdo.generate.JavaGenerator.generateFromXMLSchema(JavaGenerator.java:246)
> at
> org.apache.tuscany.sdo.plugin.GeneratorMojo.execute(GeneratorMojo.java:144)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:432)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:530)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
> 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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at
> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> The IllegalArgumentException actually wraps a ClassCastException on line 175
> of XSDHelperImpl. The problem is that XSDHelperImpl expects an XSDResource to
> be loaded from the input file, but gets a vanilla XMLResource instead because
> the XSDResourceFactoryImpl is not registered with the .wsdl extension (it is
> registered with .xsd but the registration with .wsdl is missing).
> I am checking in a patch to DataObjectUtil to temporarily fix this problem:
> //FIXME ClassCastException in XSDHelper.define() if you give it a WSDL
> file
> // Patch for JIRA TUSCANY-42
> if
> (Resource.Factory.Registry.INSTANCE.getFactory(URI.createURI("*.wsdl")) ==
> null)
> {
> result.put("wsdl", new XSDResourceFactoryImpl());
> }
> Frank, can you please review to see if this is how you want to fix the
> problem. Thanks.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira