adb binding of xsd:extension produces xsi:type="ns1:Extension_type0" not in 
schema
----------------------------------------------------------------------------------

                 Key: AXIS2-4023
                 URL: https://issues.apache.org/jira/browse/AXIS2-4023
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: adb
    Affects Versions: 1.4.1
         Environment: Tomcat 1.6, axis2 1.4.1, Windows XP, Eclipse 3.4
            Reporter: Andreas Schörk


wsdl please see below

The response of operation contains:

<xsd:simpleContent>
   <xsd:extension base="tns:ReproStringType">
        <xsd:attribute name="lang" type="xsd:language">
        </xsd:attribute>
  </xsd:extension>
</xsd:simpleContent>

the extension of a restricted type:
                        <xsd:simpleType name="ReproStringType">
                                <xsd:restriction base="xsd:string">
                                        <xsd:maxLength 
value="1024"></xsd:maxLength>
                                </xsd:restriction>
                        </xsd:simpleType>
this leads to a response of:

<Extension xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="ns1:Extension_type0" lang="de">response</Extension>
since ns1:Extension_type0 is not in the schema, .Net does not accept this 
package.


Request Package:
<?xml version="1.0" ?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:ns1="http://www.example.org/repro/";><soapenv:Body><ns1:ReproOperation><in><SimpleString>simplestring</SimpleString></in></ns1:ReproOperation></soapenv:Body></soapenv:Envelope>

Response Package:
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><ns1:ReproOperationResponse
 xmlns:ns1="http://www.example.org/repro/";><Extension 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:type="ns1:Extension_type0" 
lang="de">response</Extension></ns1:ReproOperationResponse>

Skeleton:
public org.example.www.repro.ReproOperationResponse ReproOperation(
                        org.example.www.repro.ReproOperation reproOperation) {
                ReproOperationResponse opResponse = new 
ReproOperationResponse();
                Extension_type0 resExt = new Extension_type0();
                ReproStringType stype = new ReproStringType();
                stype.setReproStringType("response");
                resExt.setReproStringType("response");
                Language l = new Language();
                l.setValue("de");
                resExt.setLang(l);
                opResponse.setExtension(resExt);
                return opResponse;
        }


WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="repro" targetNamespace="http://www.example.org/repro/";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:tns="http://www.example.org/repro/";
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
        <wsdl:types>
                <xsd:schema targetNamespace="http://www.example.org/repro/";>
                        <xsd:simpleType name="ReproStringType">
                                <xsd:restriction base="xsd:string">
                                        <xsd:maxLength 
value="1024"></xsd:maxLength>
                                </xsd:restriction>
                        </xsd:simpleType>
                        <xsd:element name="ReproOperation">
                                <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element name="in">
                                                        <xsd:complexType>
                                                                <xsd:sequence>
                                                                        
<xsd:element name="SimpleString" type="xsd:string">
                                                                        
</xsd:element>
                                                                </xsd:sequence>
                                                        </xsd:complexType>
                                                </xsd:element>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                        <xsd:element name="ReproOperationResponse">
                                <xsd:complexType>
                                        <xsd:sequence>
                                                <xsd:element name="Extension">
                                                        <xsd:complexType>
                                                                
<xsd:simpleContent>
                                                                        
<xsd:extension base="tns:ReproStringType">
                                                                                
<xsd:attribute name="lang" type="xsd:language">
                                                                                
</xsd:attribute>
                                                                        
</xsd:extension>
                                                                
</xsd:simpleContent>
                                                        </xsd:complexType>
                                                </xsd:element>
                                        </xsd:sequence>
                                </xsd:complexType>
                        </xsd:element>
                </xsd:schema>
        </wsdl:types>
        <wsdl:message name="ReproOperationRequest">
                <wsdl:part name="parameters" 
element="tns:ReproOperation"></wsdl:part>
        </wsdl:message>
        <wsdl:message name="ReproOperationResponse">
                <wsdl:part name="parameters" 
element="tns:ReproOperationResponse"></wsdl:part>
        </wsdl:message>
        <wsdl:portType name="ReproPortType">
                <wsdl:operation name="ReproOperation">
                        <wsdl:input 
message="tns:ReproOperationRequest"></wsdl:input>
                        <wsdl:output 
message="tns:ReproOperationResponse"></wsdl:output>
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="ReproBinding" type="tns:ReproPortType">
                <soap:binding style="document"
                        transport="http://schemas.xmlsoap.org/soap/http"; />
                <wsdl:operation name="ReproOperation">
                        <soap:operation 
soapAction="http://www.example.org/repro/ReproOperation"; />
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="ReproService">
                <wsdl:port name="ReproPort" binding="tns:ReproBinding">
                        <soap:address location="http://www.example.org/"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

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