2011-03-06 48 views
3

HI, 我已經調用Web服務相互使用JAXWS。 的問題是,我繞過COMPEX對象類。而每一次我得到的對象屬於另一個包(proxy1.jaxs.myClass ...),所以我不得不來回轉換寫。有沒有對代理對象之間進行轉換的一個簡單的方法,以origanl物體或其他代理對象? 感謝,希望我解釋自己。如何簡單地轉換JAXWS對象

回答

1
  1. Dozer是相當不錯的,如果類是類似的,你甚至可以逃脫無需複雜的XML配置。但請記住,你將不得不進行單元測試推土機映射,因爲它與反思的作品,你必須確保所有的字段正確映射。 XSLT - 如果你只傳遞對象而沒有任何邏輯,那麼在SOAP XML級別上工作的簡單轉換可以做到這一點嗎?

1

我猜你想重複使用自己的Java Bean的客戶端,而不是使用JAX-WS/JAX-B產生的假象。

解決方案是爲JAX-B指定要使用特定的類來表示bean。看看JAX-B綁定,解決方案應該是這樣的:

<jxb:bindings schemaLocation="YourService_schema1.xsd" node="/xs:schema"> 
<jxb:bindings node="//xs:complexType[@name='yourType']"> 
    <jxb:class ref="com.myoriginalpackage.YourType"> 
    </jxb:class> 
</jxb:bindings> 

還有其他樣品本頁處理特定的Java類型: http://confluence.highsource.org/display/HJ3/Apache+CXF+Tutorial+-+Building+JAX-WS,+JAXB+and+JPA-based+web+service+with+Apache+CXF,+Spring+and+Hyperjaxb3

相關問題