You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Marcel Casado (JIRA)" <ji...@apache.org> on 2010/03/13 00:39:27 UTC

[jira] Created: (CXF-2712) wsdl2java + jaxb episodes fails to generate service artifacts

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


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.


[jira] Updated: (CXF-2712) wsdl2java + jaxb episodes fails to generate service artifacts

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ 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.


[jira] Updated: (CXF-2712) wsdl2java + jaxb episodes fails to generate service artifacts

Posted by "Marcel Casado (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Casado updated CXF-2712:
-------------------------------

    Attachment: cxfWsdl2javaWithEpisodes.jar

Created a helloworld with jaxb episodes and cxf-codegen-plugin. If episodes are used with <xjcarg>-b,${basedir}/src/main/resources/episodes/helloworld.episode</xjcarg> then the codegen crashes. If episodes are not used the codegen succesfully finishes.

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