Я получил файл XML:Невозможно распаковать объект внутри другого объекта
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:Data xmlns:ns1="http://vv.com/namespace">
<Addr>Address 1</Addr1>
<Locality>San Francisco</Locality>
<Country>Japan</Country>
<CountryCode>JP</CountryCode>
</ns1:Data>
</soapenv:Body>
</soapenv:Envelope>
AddressDto.java
@XmlRootElement(name = "Data", namespace = "http://vv.com/namespace")
public class AddressDto implements Serializable
{
private String street;
private String city;
private CountryDto country;
public AddressDto()
{
super();
}
@XmlElement(name = "Addr")
public String getStreet1()
{
return street;
}
public void setStreet1(final String street1)
{
this.street = street1;
}
@XmlElement(name = "Locality")
public String getCity()
{
return city;
}
public void setCity(final String city)
{
this.city = city;
}
public CountryDto getCountry()
{
return country;
}
public void setCountry(final CountryDto country)
{
this.country = country;
}
}
CountryDto файл:
public class CountryDto implements Serializable
{
private String name;
private String code;
public CountryDto()
{
super();
}
@XmlElement(name = "CountryCode")
public String getCode()
{
return code;
}
public void setCode(final String code)
{
this.code = code;
}
@XmlElement(name = "Country")
public String getName()
{
return name;
}
public void setName(final String name)
{
this.name = name;
}
}
Когда я запускаю код
JAXBContext context = JAXBContext.newInstance(AddressDto.class);
Unmarshaller un = context.createUnmarshaller();
AddressDto emp = (AddressDto) un.unmarshal(response.getSOAPBody().extractContentAsDocument());
return emp;
Я могу получить на улицу и город в объекте AddressDto. Но поле страны отображается как null ... Любая идея, что здесь происходит не так?
Благодаря
Спасибо за ответ Martin ... Я не смог бы вносить какие-либо изменения в схему xml, поскольку эта служба используется ot ее приложения тоже. Есть ли способ, по которому я могу взять страну и код страны из xml и сопоставить ее с соответствующими полями в объекте CountryDto? – Tapan
Извините, я не могу придумать решение без изменения схемы xml :(надеюсь, что кто-то больше опыта поможет вам ... –