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 "TAM Tenfold5 (Updated) (JIRA)" <ji...@apache.org> on 2011/11/28 09:04:40 UTC

[jira] [Updated] (AXIS2-5201) A parameterized List object is assigned type 'xs:anyType' in WSDL when the list is part of a POJO or object returned by a web-service operation

     [ https://issues.apache.org/jira/browse/AXIS2-5201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

TAM Tenfold5 updated AXIS2-5201:
--------------------------------

    Description: 
I have described beans as follows:
public class A implements Serializable {
          private String prop1;
          private Date prop2;
          private Integer prop3;
          private Double prop4;
          private List<B> propListB;
         //getter and setter methods
} 

public class B implements Serializable {
          private String prop1;
          private Date prop2;
          private Integer prop3;
          private Double prop4;
         //getter and setter methods
} 

I have described few operations in web-service implementation class as follows:
public void saveBes(String param1, List<B> bes) {....}  //1
public B[] getBes1(String param1) {...}  //2
public List<B> getBes2(String param1) {...}  //3
public A getA(String param1) {...}  //4

There are several issues that I have identified here:
1) If I have only operation 4 in WS implementation class, structure of Class B is not found in the WSDL. The type for property B within the structure of A in WSDL is 'xs:anyType'.
2) If I add an operation in WS implementation class with Class B as an input param, WSDL only then described the structure of class B. (But issue-1 still remains).
3) If I have operations like 3 and 4 in the WS Impl class, then structure of Class B is not described in WSDL.
4) Only when I change the type of  'propListB' in class A to B[], can the structure of Class B resolved in WSDL. In this case the property B within the structure of A in WSDL is 'ax23:B'.
5) If I have operation like 2, then the structure of Class B resolved in WSDL.

So, the conclusion is when parametrized List object is used within a POJO or return type of WS operation, its structure is not described in WSDL. 

I have not checked for other collection classes like java.util.Set.

Regards,
TAM Tenfold5, GDev.

  was:
I have described beans as follows:
public class A implements Serializable {
          private String prop1;
          private Date prop2;
          private Integer prop3;
          private Double prop4;
          private List<B> propListB;
         //getter and setter methods
} 

public class B implements Serializable {
          private String prop1;
          private Date prop2;
          private Integer prop3;
          private Double prop4;
         //getter and setter methods
} 

I have described few operations in web-service implementation class as follows:
public void saveBes(String param1, List<B> bes) {....}  //1
public B[] getBes1(String param1) {...}  //2
public List<B> getBes2(String param1) {...}  //3
public A getA(String param1) {...}  //4

There are several issues that I have identified here:
1) If I have only operation 4 in WS implementation class, structure of Class B is not found in the WSDL. The type for property B within the structure of A in WSDL is 'xs:anyType'.
2) If I add an operation in WS implementation class with Class B as an input param, WSDL only then described the structure of class B. (But issue-1 still remains).
3) If I have operations like 3 and 4 in the WS Impl class, then structure of Class B is not described in WSDL.
4) Only when I change the type of  'propListB' in class A to B[], can the structure of Class B resolved in WSDL. In this case the property B within the structure of A in WSDL is 'ax23:B'.
5) If I have operation like 2, then the structure of Class B resolved in WSDL.

So, the conclusion is when parametrized List object used within a POJO or return type of WS operation, it structure is not described in WSDL. I haven not checked for other collection classes like Set.

Regards,
TAM Tenfold5, GDev.

    
> A parameterized List object is assigned type 'xs:anyType' in WSDL when the list is part of a POJO or object returned by a web-service operation
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5201
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5201
>             Project: Axis2
>          Issue Type: Bug
>          Components: codegen, wsdl
>    Affects Versions: 1.6.0
>         Environment: axis2 version is 1.6.0. 
>            Reporter: TAM Tenfold5
>
> I have described beans as follows:
> public class A implements Serializable {
>           private String prop1;
>           private Date prop2;
>           private Integer prop3;
>           private Double prop4;
>           private List<B> propListB;
>          //getter and setter methods
> } 
> public class B implements Serializable {
>           private String prop1;
>           private Date prop2;
>           private Integer prop3;
>           private Double prop4;
>          //getter and setter methods
> } 
> I have described few operations in web-service implementation class as follows:
> public void saveBes(String param1, List<B> bes) {....}  //1
> public B[] getBes1(String param1) {...}  //2
> public List<B> getBes2(String param1) {...}  //3
> public A getA(String param1) {...}  //4
> There are several issues that I have identified here:
> 1) If I have only operation 4 in WS implementation class, structure of Class B is not found in the WSDL. The type for property B within the structure of A in WSDL is 'xs:anyType'.
> 2) If I add an operation in WS implementation class with Class B as an input param, WSDL only then described the structure of class B. (But issue-1 still remains).
> 3) If I have operations like 3 and 4 in the WS Impl class, then structure of Class B is not described in WSDL.
> 4) Only when I change the type of  'propListB' in class A to B[], can the structure of Class B resolved in WSDL. In this case the property B within the structure of A in WSDL is 'ax23:B'.
> 5) If I have operation like 2, then the structure of Class B resolved in WSDL.
> So, the conclusion is when parametrized List object is used within a POJO or return type of WS operation, its structure is not described in WSDL. 
> I have not checked for other collection classes like java.util.Set.
> Regards,
> TAM Tenfold5, GDev.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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