3
내 클라이언트가 DropWizard/Jersey를 사용 중입니다.JAXB를 사용하여 XML을 개체로 변환하는 방법
xml 형식으로 응답을 받고 있습니다. 그것은 다음과 같습니다
@XmlSchema(
namespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01",
elementFormDefault = XmlNsForm.QUALIFIED)
package com.aerstone.services.core.handlerpojos.amazon;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
마지막으로, 나는이처럼 보이는 POJO 있습니다
나는 다음과 같은 내용 package-info.java
라는 파일을 만들었습니다. 지금은 제목과 ASIN을 매핑하려고합니다.
JAXBContext context = JAXBContext.newInstance(AmazonItem.class);
Unmarshaller unMarshaller = context.createUnmarshaller();
newItem = (AmazonItem) unMarshaller.unmarshal(response);
하지만이 오류 받고 있어요 :
@XmlRootElement(name="ItemSearchResponse")
public class AmazonItem
{
private String name;
private String asin;
public AmazonItem(){}
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlElement(name="Title")
public String getName()
{
return name;
}
public void setName(String name){this.name = name;}
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlElement(name="ASIN")
public String getAsin(){ return asin;}
public void setAsin(String asin){ this.asin = asin; }
}
나는 이런 식으로 사용하고
! javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"ItemLookupResponse"). Expected elements are <{http://webservices.amazon.com/AWSECommerceService/2011-08-01}ItemSearchResponse>