[ 
https://issues.apache.org/jira/browse/CXF-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12693736#action_12693736
 ] 

Juergen Kellerer edited comment on CXF-2139 at 3/30/09 4:51 AM:
----------------------------------------------------------------

Here you go. (Please ignore changed imports, I ran reformat code.. my bad.)
---
I have to add that this was made for version 2.1.4, I just quickly tried 2.2 
and saw it has the same issue.

      was (Author: juergenk):
    Here you go. (Please ignore changed imports, I ran reformat code.. my bad.)
  
> Deserializer for complex types is not created inside the generated JavaScript 
> client code
> -----------------------------------------------------------------------------------------
>
>                 Key: CXF-2139
>                 URL: https://issues.apache.org/jira/browse/CXF-2139
>             Project: CXF
>          Issue Type: Bug
>          Components: JavaScript Client
>    Affects Versions: 2.1.4, 2.2
>         Environment: Java 1.6, ANT based build script
>            Reporter: Juergen Kellerer
>            Assignee: Benson Margulies
>         Attachments: js-patch-2.1.4.jar, SchemaJavascriptBuilder.diff
>
>
> The JavaScript client code generator successfully creates serializers and 
> deserializers for first level soap requests and response objects. Serializing 
> code is also created for complex types but the deserializer code is not 
> created.
> Digging down the code it seems that the problem is in the class 
> "org.apache.cxf.javascript.types.SchemaJavascriptBuilder" the following HACK 
> made the JS client work correctly:
> ----
>     public void domDeserializerFunction(QName name, XmlSchemaComplexType 
> type) {
>         utils = new JavascriptUtils(code);
>         XmlSchemaSequence sequence = null;
>         sequence = XmlSchemaUtils.getSequence(type);
>         // HACK, use alternate way to get sequence
>         if (sequence.getItems().getCount() == 0) {
>                 XmlSchemaSequence s = XmlSchemaUtils.getContentSequence(type);
>                 if (s != null) {
>                         System.err.println("HACK-applied, generating 
> deserializer for " + name);
>                         sequence = s;
>                 }
>         }
>         // HACK-END, use alternate way to get sequence
>         String typeObjectName = nameManager.getJavascriptName(name);
> ---

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