2017-07-31 20 views
1

残りのテンプレートを使用してリクエストを送信する必要があります。私は送信する前に、オブジェクトをXMLにマーシャリングしてリクエストを送信する必要があります。要求からの応答がXML形式です。次に、インターフェイスに結果を表示するために、応答xmlをObjectに変換する必要があります。jaxbを使用してxml文字列をjavaオブジェクトにアンマーシャリングする方法

以下は、私が

私はアンマーシャリングすることができますどのように
@RequestMapping("/searchSummon") 
public String Search(Model model) 
{ 

    model.addAttribute("jaxbExample", new JAXBExample()); 
    model.addAttribute("pdxiRes", new PDXIRes()); 

    JAXBExample jaxbExample = new JAXBExample(); 
    String create_xml = jaxbExample.CreateXML(); 

    System.out.println(create_xml); 

    RestTemplate restTemplate = new RestTemplate(); 
    String a = restTemplate.postForObject("http://192.168.80.30/summon- 
    V2/example", "<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE PDXIReq 
    SYSTEM 'summon.dtd'>" + create_xml,String.class); 

    System.out.println(a); 

    return "searchSummon"; 
} 

「」オブジェクトへリクエストを送るところ、私のコントローラのですか?あなたがたUnmarshallerを使用していることを行うことができます応答 PDXIRes ヘッダー 要求 詳細 ステータス

応答のためのXML( 'A')

<?xml version="1.0" encoding="utf-8"?> 
<PDXIRes> 
<header> 
    <sp_code>abc017637m</sp_code> 
</header> 
<request id="1sq1216272728732"> 
    <id_no>683642435</id_no> 
    <name>SALLY</name> 
    <max_index>1024</max_index> 
    <total_summons>2</total_summons> 
    <summons_detail> 
     <row num="1"> 
      <summons_id>1810000200002AQ639332</summons_id> 
      <vehicle>NN162</vehicle> 

     </row> 
     <row num="2"> 
      <summons_id>1810000200002AM947772</summons_id> 
      <vehicle>NN162</vehicle 
     </row> 
    </summons_detail> 
    <status> 
     <status_code>01</status_code> 
     <status_msg>Successful</status_msg> 
    </status> 
    </request> 
    </PDXIRes> 
+0

あなたはマーシャル/アンマーシャルプロセスが自動的に処理されたジャージーのようなRESTフレームワークを使用する場合は... –

+0

https://stackoverflow.com/questions/25704853/かどうかを確認してくださいunmarshalling-nested-list-of-xml-items-using-jaxbは役立ちます... – deepakl

答えて

0

ため クラス。

ここで見つける
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); 
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); 

StringReader reader = new StringReader("xml string here"); 
Person person = (Person) unmarshaller.unmarshal(reader); 

Use JAXB to create Object from XML String

関連する問題