You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Grzegorz Grzybek (JIRA)" <ax...@ws.apache.org> on 2006/07/07 08:37:30 UTC

[jira] Created: (AXIS-2519) array of Strings changed to in java2wsdl

array of Strings changed to <element name="varArray" type="xsd:string"/> in java2wsdl
-------------------------------------------------------------------------------------

         Key: AXIS-2519
         URL: http://issues.apache.org/jira/browse/AXIS-2519
     Project: Apache Axis
        Type: Bug

  Components: WSDL processing  
    Versions: 1.4    
 Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
    Reporter: Grzegorz Grzybek
    Priority: Critical


I used wsdl2Java and my xsd:complexType, which uses array of strings is properly converted into java.lang.String[]. But when the web service is published and URL with ?wsdl param is used, the generated wsdl says, that my type is simple xsd:string, and not ArrayOfStrings.

You can easily reproduce this bug - just run the "echo" sample from axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl and particulary - <complexType name="SOAPArrayStruct"> definition - it's always wrong.

The TestClient runs fine - it sends array of strings, but we're talking about interoperability - te generated "?wsdl" document is used in .NET environment to generate ws proxies - and instead of string[] there is simply string property.

It helps when one add:
   elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema", "string"));
in the static {} block in generated SOAPArrayStruct.java.

I think the problem is in org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
both the conditions:

            if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
                    Types.isArray(fieldType)) {
                xmlType = null;
            }

            if (itemQName != null &&
                    SchemaUtils.isSimpleSchemaType(xmlType) &&
                    Types.isArray(fieldType)) {
                xmlType = null;
            }

are not met and the information that the element is array is lost. One of these conditions is met when the array elements are NOT simple schema types.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Updated: (AXIS-2519) array of Strings changed to in java2wsdl

Posted by "Lord Halbert (JIRA)" <ax...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS-2519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lord Halbert updated AXIS-2519:
-------------------------------

    Affects Version/s: 1.3
                       1.2.1
                       1.2

> array of Strings changed to <element name="varArray" type="xsd:string"/> in java2wsdl
> -------------------------------------------------------------------------------------
>
>                 Key: AXIS-2519
>                 URL: https://issues.apache.org/jira/browse/AXIS-2519
>             Project: Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.2, 1.2.1, 1.3, 1.4
>         Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
>            Reporter: Grzegorz Grzybek
>            Priority: Blocker
>
> I used wsdl2Java and my xsd:complexType, which uses array of strings is properly converted into java.lang.String[]. But when the web service is published and URL with ?wsdl param is used, the generated wsdl says, that my type is simple xsd:string, and not ArrayOfStrings.
> You can easily reproduce this bug - just run the "echo" sample from axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl and particulary - <complexType name="SOAPArrayStruct"> definition - it's always wrong.
> The TestClient runs fine - it sends array of strings, but we're talking about interoperability - te generated "?wsdl" document is used in .NET environment to generate ws proxies - and instead of string[] there is simply string property.
> It helps when one add:
>    elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema", "string"));
> in the static {} block in generated SOAPArrayStruct.java.
> I think the problem is in org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
> both the conditions:
>             if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
>             if (itemQName != null &&
>                     SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
> are not met and the information that the element is array is lost. One of these conditions is met when the array elements are NOT simple schema types.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS-2519) array of Strings changed to in java2wsdl

Posted by "Lord Halbert (JIRA)" <ax...@ws.apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS-2519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12513041 ] 

Lord Halbert commented on AXIS-2519:
------------------------------------

This is the same bug as https://issues.apache.org/jira/browse/AXIS-2386

I've already commented on this bug at the URL above so I'm not going to repeat myself.

I will state that It's a shame that such a severe bug is allowed to continue for 3 MAJOR versions (1.2, 1.3, and 1.4) without being fixed.



> array of Strings changed to <element name="varArray" type="xsd:string"/> in java2wsdl
> -------------------------------------------------------------------------------------
>
>                 Key: AXIS-2519
>                 URL: https://issues.apache.org/jira/browse/AXIS-2519
>             Project: Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.4
>         Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
>            Reporter: Grzegorz Grzybek
>            Priority: Critical
>
> I used wsdl2Java and my xsd:complexType, which uses array of strings is properly converted into java.lang.String[]. But when the web service is published and URL with ?wsdl param is used, the generated wsdl says, that my type is simple xsd:string, and not ArrayOfStrings.
> You can easily reproduce this bug - just run the "echo" sample from axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl and particulary - <complexType name="SOAPArrayStruct"> definition - it's always wrong.
> The TestClient runs fine - it sends array of strings, but we're talking about interoperability - te generated "?wsdl" document is used in .NET environment to generate ws proxies - and instead of string[] there is simply string property.
> It helps when one add:
>    elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema", "string"));
> in the static {} block in generated SOAPArrayStruct.java.
> I think the problem is in org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
> both the conditions:
>             if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
>             if (itemQName != null &&
>                     SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
> are not met and the information that the element is array is lost. One of these conditions is met when the array elements are NOT simple schema types.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Updated: (AXIS-2519) array of Strings changed to in java2wsdl

Posted by "Lord Halbert (JIRA)" <ax...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS-2519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lord Halbert updated AXIS-2519:
-------------------------------

    Priority: Blocker  (was: Critical)

> array of Strings changed to <element name="varArray" type="xsd:string"/> in java2wsdl
> -------------------------------------------------------------------------------------
>
>                 Key: AXIS-2519
>                 URL: https://issues.apache.org/jira/browse/AXIS-2519
>             Project: Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.4
>         Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
>            Reporter: Grzegorz Grzybek
>            Priority: Blocker
>
> I used wsdl2Java and my xsd:complexType, which uses array of strings is properly converted into java.lang.String[]. But when the web service is published and URL with ?wsdl param is used, the generated wsdl says, that my type is simple xsd:string, and not ArrayOfStrings.
> You can easily reproduce this bug - just run the "echo" sample from axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl and particulary - <complexType name="SOAPArrayStruct"> definition - it's always wrong.
> The TestClient runs fine - it sends array of strings, but we're talking about interoperability - te generated "?wsdl" document is used in .NET environment to generate ws proxies - and instead of string[] there is simply string property.
> It helps when one add:
>    elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema", "string"));
> in the static {} block in generated SOAPArrayStruct.java.
> I think the problem is in org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
> both the conditions:
>             if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
>             if (itemQName != null &&
>                     SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
> are not met and the information that the element is array is lost. One of these conditions is met when the array elements are NOT simple schema types.

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS-2519) array of Strings changed to in java2wsdl

Posted by "Eyal Mishor (JIRA)" <ax...@ws.apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS-2519?page=comments#action_12429346 ] 
            
Eyal Mishor commented on AXIS-2519:
-----------------------------------

I'm facing this bug too. I checked older versions and it is happening since axis 1.2 .
Unless I'm missing something this a very critical bug.

> array of Strings changed to <element name="varArray" type="xsd:string"/> in java2wsdl
> -------------------------------------------------------------------------------------
>
>                 Key: AXIS-2519
>                 URL: http://issues.apache.org/jira/browse/AXIS-2519
>             Project: Apache Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.4
>         Environment: Windows XPSP2, SUN's java 1.4.2_11-b06.
>            Reporter: Grzegorz Grzybek
>            Priority: Critical
>
> I used wsdl2Java and my xsd:complexType, which uses array of strings is properly converted into java.lang.String[]. But when the web service is published and URL with ?wsdl param is used, the generated wsdl says, that my type is simple xsd:string, and not ArrayOfStrings.
> You can easily reproduce this bug - just run the "echo" sample from axis-1.4-src/samples/echo and see http://localhost:8080/axis/services/echo?wsdl and particulary - <complexType name="SOAPArrayStruct"> definition - it's always wrong.
> The TestClient runs fine - it sends array of strings, but we're talking about interoperability - te generated "?wsdl" document is used in .NET environment to generate ws proxies - and instead of string[] there is simply string property.
> It helps when one add:
>    elemField.setItemQName(new QName("http://www.w3.org/2001/XMLSchema", "string"));
> in the static {} block in generated SOAPArrayStruct.java.
> I think the problem is in org.apache.axis.encoding.ser.BeanSerializer.writeField() method:
> both the conditions:
>             if (!SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
>             if (itemQName != null &&
>                     SchemaUtils.isSimpleSchemaType(xmlType) &&
>                     Types.isArray(fieldType)) {
>                 xmlType = null;
>             }
> are not met and the information that the element is array is lost. One of these conditions is met when the array elements are NOT simple schema types.

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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org