Using attributeFormDefault="qualified" in a schema causes null attribute values 
in Java objects
-----------------------------------------------------------------------------------------------

                 Key: AXIS2-2594
                 URL: https://issues.apache.org/jira/browse/AXIS2-2594
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.1.1
         Environment: Windows XP
Java 1.6.0
XMLBeans data binding
            Reporter: Paul Chisholm
            Priority: Minor


When the schema that appears in the wsdl:types section of a WSDL file specifies 
attributeFormDefault="qualified" then the the getter corresponding to an 
attribute returns null even though an attribute value is specified in the XML.

Example:

Schema is

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
           attributeFormDefault="qualified"
           elementFormDefault="qualified"
           targetNamespace="http://quickstart.samples/xsd";>
  <xs:element name="attribute">
    <xs:complexType>
      <xs:attribute name="status" type="xs:string" />
      <xs:sequence>
        <xs:element name="value" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="attributeResponse">
    <xs:complexType>
      <xs:attribute name="status" type="xs:string" />
      <xs:sequence>
        <xs:element name="value" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Message/port definition is

<wsdl:message name="attributeMessage">
  <wsdl:part name="part1" element="ns:attribute"/>
</wsdl:message> 
<wsdl:message name="attributeResponseMessage">
  <wsdl:part name="part1" element="ns:attributeResponse"/> 
</wsdl:message>
<wsdl:portType name="MyServicePortType">
  <wsdl:operation name="attribute">
    <wsdl:input message="axis2:attributeMessage"/>
    <wsdl:output message="axis2:attributeResponseMessage"/>
  </wsdl:operation>
</wsdl:portType>

Client code is

   public static void attribute(MyServiceStub stub){
        try{
            AttributeDocument reqDoc = AttributeDocument.Factory.newInstance();
            AttributeDocument.Attribute req = reqDoc.addNewAttribute();
            req.setStatus("OK");
            req.setValue("Testing");
            AttributeResponseDocument res = stub.attribute(reqDoc);
            
System.err.println("Status="+res.getAttributeResponse().getStatus());
            System.err.println("Value="+res.getAttributeResponse().getValue());
        } catch(Exception e){
            e.printStackTrace();
            System.err.println("\n\n\n");
        }
   }

Service code is

    public AttributeResponseDocument attribute(AttributeDocument param1) {
        String status = param1.getAttribute().getStatus();
        String value = param1.getAttribute().getValue();
        System.err.println();
        System.err.println("Status="+status);
        System.err.println("Value="+value);
        AttributeResponseDocument resDoc =
                AttributeResponseDocument.Factory.newInstance();
        AttributeResponseDocument.AttributeResponse res =
                resDoc.addNewAttributeResponse();
        res.setStatus(status);
        res.setValue(value);
        return resDoc;
    }

When the client is run tracing of the element values displays as expected, but 
tracing of the attributes always shows null.

If the schema is changed to attributeFormDefault="unqualified" the attribute 
values are displayed successfully.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to