[
https://issues.apache.org/jira/browse/CXF-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp updated CXF-2712:
-----------------------------
CXF Fields: [Blocked on External]
OK. I can now see what is going on. It's technically a "bug" (or missing
API) in JAXB. See:
https://jaxb.dev.java.net/issues/show_bug.cgi?id=514
Basically, for code generation, we need to know the class names that JAXB
determined for the various wrappers and parameters. We call a method on the
JAXB model passing the QName in and get a special object back with the
classname in it. However, JAXB only passes back stuff it actually generated.
In the case of episodes, it didn't generate anything. Thus, null is returned
and we cannot proceed. Ideally, JAXB would return a proper object for us so
we can get the information.
I think this is why I've seen mixed results with episode files and CXF. The
use cases I've seen before use episodes for their domain schemas, but not for
the "wrapper" schemas used for the wsdl/soap interactions. For example, a
"PurchaseOrder" object would be in the episode, but the "submitPO" and
"submitPOResponse" schemas would be in the wsdl (which would import the domain
schema). That use case WOULD work fine. JAXB would generate the SubmitPO
object so null would not be returned.
Without that fix in JAXB, I'm not sure what options we have. The ONLY thing I
can think of is to parse and process the episode files ourselves and if jaxb
returns null, start searching through them to see if a type is mapped or not.
Quite a bit fragile.
> wsdl2java + jaxb episodes fails to generate service artifacts
> -------------------------------------------------------------
>
> Key: CXF-2712
> URL: https://issues.apache.org/jira/browse/CXF-2712
> Project: CXF
> Issue Type: Bug
> Components: Tooling
> Affects Versions: 2.2.6
> Reporter: Marcel Casado
> Attachments: cxfWsdl2javaWithEpisodes.jar
>
>
> When generating jaxb bindings with episodes for all schemas included/imported
> for a "wsdl" the "wsdl2java" fails when it tries to resolve the message
> parts on the wsdl to create the service artifacts.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.