我正在开发一个遗留系统,其中webservice-clients被包含为打包的.jar文件。我们想要改变它,而不是生成客户端。但是在完成之后,存在一些差异,.jar-clients可以访问返回对象的所有字段,生成的版本中有一些缺失。 (它们实际上是从生成的服务的xsd中丢失的,因此不会在客户端生成)。我们很快就注意到,缺少的字段和存在的字段之间的区别在于缺少的字段没有getter和setter。添加这些后,大多数字段都被包含在内,但不是那些服务方法的返回类型是List。
所以我的问题是,为了将字段包含在服务的xsd-schema中,必须存在哪些方法?更具体地说,必须包含哪些方法才能包含集合?
在服务类中:
public Organization getOrganization(final Integer id) {
return something.getOrganization(id);
}
并在组织中:
public class Organization {
private Integer id;
private List<String> phoneNumbers;
private String name;
public Organization(final String name) {
this.name = name;
}
public String getName() {
return name;
}
//No setter for name, so the field is not included in the wsdl..
public Integer getId() {
return id;
}
public void setId(final Integer id) {
this.id = id;
}
//Id has both setter and getter, so it is included..
public List<String> getPhoneNumbers() {
return phoneNumbers;
}
public void setPhoneNumbers(final List<String> phoneNumbers) {
this.phoneNumbers = phoneNumbers;
}
//phoneNumbers has both getter and setter, but still is not included.
//I guess it is because it is a list.