Javaオブジェクト、つまりDTOにマップする必要があるXMLがあります。私のXMLは、私のXMLは、このJaxbとXMLPathを使用してXMLをアンマーシャリングできません
<UseCaseView>
<FindCandidates>
<CandidatesRequest>
<APIRequest>
<Code>Code</Code>
</APIRequest>
</CandidatesRequest>
</FindCandidates> </UseCaseView>
「FindCandidates」のようなものを見て、「CandidatesRequestは」単なるラッパー要素と「APIRequest」です再び..です私のDTO内の任意のJavaオブジェクトを持っていないいくつかのラッパー要素を持っていますDTO ..
私は私のDTOにこのようXMLPathを使用しています...私のDTOはこのようになります。..
@XmlRootElement(name = "UseCaseView")
public class FindRequestDTO implements Serializable{
private static final long serialVersionUID = 5528726225975606325L;
private ApiRequestDTO apiRequest;
@XmlPath("FindCandidates/CandidatesRequest/APIRequest")
public ApiRequestDTO getAPIRequest() {
return apiRequest;
.........
私は2人のラッパーを削除する場合、これは、私のApiRequestDTOにAPIRequest要素をマッピングされていません要素と は直接XMLElementを使用してマップします名前=「APIRequest」)は、それが動作します...しかし、私はJaxb.propertiesは私のリソースフォルダ内の
"javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory"
でファイルを追加した .. 2つのラッパー要素を無視し、私のDTOを構築する必要があります。
誰かが間違ってここに行くいただきました!私が知るのに役立ちます。..
おかげで、
を返された実装クラスは何ですか?次の例は役立ちます:https://github.com/bdoughan/blog20110908。私は明日答えを投稿します。 –
@Blaise - クイック返信用のthx ..返される実装クラスはcom.sun.xml.bind.v2.runtime.JAXBContextImpl – sampath
あなたのクラスパスにeclipselink.jarがありますか?前のコメントでリンクした例は、Mavenを使ってコンパイルして実行するための設定です。 –