2017-06-23 24 views
0

私はRest webserviceでJavaを実装しています。私はXMLを投稿要求と一緒に渡す必要があります。私のXMLは次の通りです:RESTのXML要素内に属性を追加する方法

<Case><Version>1.0</Version><Code>457123</Code><Id>TRD</Id><Meta uc=\"Sample\" pip=\"116.0.1.1\" lot=\"P\"/><Case> 

適切な注釈を持つクラスを定義することによって、このXMLをJavaオブジェクトに変換しています。

しかし、XMLElement <Meta>の属性を追加する方法。もし私が@XmlAttributeを追加すると、ルートxml要素の属性が追加されます

Plsはこれを行う方法を提案します。私はEclipse IDEを使用しています

答えて

0

これはあなたに行く必要があります。

DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpPost postRequest = new HttpPost("http://localhost:8080/TESTINGrestful/rest/polls/comment"); 
StringEntity input = new StringEntity("<Comment>...</Comment>"); 
input.setContentType("text/xml"); 
postRequest.setEntity(input); 
HttpResponse response = httpClient.execute(postRequest); 

これを試してみてください。この http://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/src/examples/PostXML.java?view=markup

から取られたその何かを更新 は、JavaにあなたのXMLをマッピングするために探しているなら、より多くのために、このリンクをたどる

@XmlRootElement(name = "Meta") 
public class Meta{ 

private UC uc; 

} 

@XmlElement(name = "uc") 
public class UC{ 

@XmlAttribute 
private String value; 
} 

この方法を試してみてください。この

@XmlRootElement(name = "Case") 
public class CaseClass { 
    @XmlElement 
    private int Version; 

    @XmlElement 
    private int Code; 

    @XmlElement 
    private int Id; 

    private meta Meta; 
} 

@XmlElement(name = "Meta") 
public class meta { 

    @XmlAttribute 
    private String uc; 

    @XmlAttribute 
    private String pip; 

    @XmlAttribute 
    private String lot; 
} 
+0

はクライアントをやっていません..ウェブサービスをやっています – Leeza

+0

あなたが探しているなら、答えはXMLのマッピングを含むようにアップデートされています。 – zapping

関連する問題