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

Reply via email to