2012-04-30 13 views
0

みんな!この快適なWeb​​サービスクライアントを開発していますが、ネストされた要素を取得しようとすると問題が発生します。これは私が受け取っているXMLです。 Jerseyを使用して休憩サービスからデータフィールドを取得できません

<InstalledProducts> 
<InstalledProduct> 
<uri> 
<url> 
http://immix-test.natinst.com/ib-rest/1.0/installed-product/NIC:458513.xml 
</url> 
<urn>urn:installed-product:NIC:458513</urn> 
</uri> 
<instanceId>458513</instanceId> 
<site>NIC</site> 
<serialNumber>A49AD1</serialNumber> 
<productNumber>459513</productNumber> 
<ibStatus>Latest</ibStatus> 
<ibCreationDate>1998-10-14</ibCreationDate> 
<partNumber> 
    <urn>urn:product-item:181830E-01</urn> 
</partNumber> 
<latestServiceContracts> 
<url> 
http://immix-test.natinst.com/ib-rest/1.0/installed-product/NIC:458513/latestServiceContracts.xml 
</url> 
</latestServiceContracts> 
<allServiceContracts> 
    <url> 
    http://immix-test.natinst.com/ib-rest/1.0/installed-product/NIC:458513/allServiceContracts.xml 
    </url> 
    </allServiceContracts> 
</InstalledProduct> 
</InstalledProducts> 

この

はInstalledProduct RootElement

import javax.xml.bind.annotation.XmlElement; 
import javax.xml.bind.annotation.XmlRootElement; 

import org.apache.log4j.Logger; 

@XmlRootElement(name = "InstalledProduct") 
public class InstalledProductDTO { 
private ContractsURL latestServiceContracts; 
private PartNumber partNumber; 
public static Logger logger = Logger.getLogger(InstalledProductDTO.class); 
private int instanceId; 
private String status; 

@XmlElement(name = "serviceStatus") 
public String getStatus() { 
    return status; 
} 

public void setStatus(String status) { 
    this.status = status; 
} 

@XmlElement(name = "instanceId") 
public int getInstanceId() { 
    return instanceId; 
} 

public void setInstanceId(int instanceId) { 
    this.instanceId = instanceId; 
} 

@XmlElement(name = "partNumber") 
public PartNumber getpartNumberURN(){ 
    return partNumber;  
} 

public void setProductNumber(PartNumber partNumber){ 
    this.partNumber = partNumber; 
} 

@XmlElement(name = "latestServiceContracts") 
public ContractsURL getLatestServiceContractsURL(){ 
    return latestServiceContracts; 
} 

public void setAllServiceContractsURL(ContractsURL latestServiceContractsURL){ 
    this.latestServiceContracts = latestServiceContractsURL; 
} 
} 

を処理するJavaクラスであり、これは問題がどこにあるかであるpartNumberもタグを扱うクラスです。

import javax.xml.bind.annotation.XmlElement; 
import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement(name = "partNumber") 
public class PartNumber { 

private String urn; 

@XmlElement(name = "urn") 
public String getURN() 
{ 
    return urn; 
} 

public void setUrn(String urn){ 
    this.urn = urn; 
} 

} 

partNumberを取得しようとすると、nullが返されます。何か案は?

答えて

0

私はただ解決しました。少なくともこれは私のために働いた。 InstalledProductDTOクラスで、partNumber xmlタグのセットと取得がリテラルxmlタグと一致していないことを確認します。タグは「partNumber」ですが、getおよびsetはgetPartNumberURNおよびsetPartNumberURNと呼ばれます。だから私はちょうどgetPartNumberとsetPartNumberに変更しました。 これがうまくいく場合は、これを確認するためにお知らせください。私が間違っているなら、私を修正してください。 ありがとうございます。

関連する問題