Elements processed through the HOLDER<XXX> in the endpoint method are not being 
generated correctly.
----------------------------------------------------------------------------------------------------

                 Key: XFIRE-1058
                 URL: http://jira.codehaus.org/browse/XFIRE-1058
             Project: XFire
          Issue Type: Bug
    Affects Versions: 1.2.6
            Reporter: kiwi
            Assignee: Dan Diephouse


In the response, if there are more than one elements being return in the SOAP 
body, XFire puts one element as the return type in the endpoint method and the 
rest as a HOLDER<xxx> objects.

However, the element does not generated correctly.  See example:

In the schema: 

<xs:complexType name="TheType">
                <xs:sequence>
                        <xs:element name="TheElement">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element 
name="TheInnerElement" type="xs:base64Binary"/>
                                        </xs:sequence>
                                        <xs:attribute name="ElementAttrOne" 
type="xs:string"/>
                                        <xs:attribute name="ElementAttrTwo" 
type="xs:string"/>
                                        <xs:attribute name="ElementAttrThree" 
type="xs:string"/>
                                </xs:complexType>
                        </xs:element>
                </xs:sequence>
                <xs:attribute name="TypeAttrOne">
                        <xs:simpleType>
                                <xs:restriction base="xs:NMTOKEN">
                                        <xs:enumeration value="A"/>
                                        <xs:enumeration value="B"/>
                                        <xs:enumeration value="C"/>
                                </xs:restriction>
                        </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="TypeAttrTwo">
                        <xs:simpleType>
                                <xs:restriction base="xs:NMTOKEN">
                                        <xs:enumeration value="D"/>
                                        <xs:enumeration value="E"/>
                                </xs:restriction>
                        </xs:simpleType>
                </xs:attribute>
        </xs:complexType>

Result generated:

<ns1:TheType>
        <TheElement xmlns="http://types.yourhost.com";>
          <TheType  xmlns="http://yourhost.com/types"; ElementAttriOne="xxxxx" 
ElementAttriTwo="xxxxx" ElementAttriThree="xxxx">
            <TheInnerElement>xxxxxxxxxxxxxxxxx</TheInnerElement>
          </TheType>
        </TheElement>
        <TypeAttrOne xmlns="http://types.yourhost.com";>A</format>
        <TypeAttrTwo  xmlns="http://types.yourhost.com";>D</type>
      </ns1:TheType>

while the expected result should be: 

      <TheType xmlns="http://yourhost.com/types"; TypeAttrOne="A" 
TypeAttrTwo="D">
        <TheElement ElementAttriOne="xxxxx" ElementAttriTwo="xxxxx" 
ElementAttriThree="xxxx">
       <TheInnerElement>xxxxxxxxxxxxxx</TheInnerElement>
        </TheElement>
      </TheType>


You can see, the element structure are incorrect and the namespace is messed 
up.  Any idea will be appreciated!

Thanks



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to