2011-05-22 85 views
3

我想做一些RPC的消息格式直接從Java接口定義,然後我想用一些工具來生成ASN.1文件。Java Pojo類 - > ASN.1 RPC

  1. 你知道我可以使用什麼工具? (如果可能的話,不要強迫我在描述格式的接口中使用任何類型的ASN庫。

  2. 你知道在JavaSE程序中是否有與ASN.1一起執行RPC的庫?

+0

你看到的[Java的編譯器ASN.1]問題(http://stackoverflow.com/questions/968236/java-asn-1-compiler)? – MarcoS 2011-05-25 06:05:51

+0

是的,但這不是我所要求的。 – Vincent 2011-05-25 10:18:54

+1

什麼是ASN.1編碼表示?您是否使用ASN.1進行序列化? RPC是否位於同一臺計算機,聯網或位置不可知? – 2011-05-25 16:33:30

回答

1

我想註釋的類和寫註釋處理器生產ASN可能是一種方式,但我不能猜測它會花費的工作量。

+0

這是一種方法,如果我想自己做(我可以,我有一段類似的代碼),但我正在尋找一些已經存在的東西。 – Vincent 2011-05-29 05:34:19

+0

我沒有找到任何已經存在的東西,所以我接受這個答案作爲解決方案。 – Vincent 2012-04-01 07:57:10

+0

我很高興接受,但我希望你能找到一些東西。 – 2012-04-01 20:36:00

1

我想你已經檢查

  • BinaryNotes
  • 充氣城堡
  • 除了
  • 鮑威rASN

你想要的東西像春季遠程出口商,但沒有這樣的設施存在。如果你使用netty,mina,純粹的NIO,OIO,bouncycastle,spring,AOP開始了一個熱門項目,可能會被稱爲ASNExporter。

+0

謝謝你的鏈接,我查了一些,但沒有找到我所需要的。 – Vincent 2011-05-29 05:36:30

0

您可能想看看Java Web Services Developer Pack 2.0,其中包括基於ASN.1標準構建的Fast Infoset 1.0.1 FCS發行加速技術。 Fast Infosets是SUN微系統公司幾年前開始的一項非常有趣的技術,在Glassfish中已經取代JWSDP。

一般而言,快速信息集實施SAX和StAX接口。這允許任何 XML技術與Fast Infoset一起使用,前提是它們支持SAX或StAX。因此,將Java對象編組到ASN.1並從中解組通常很容易。在其中一次會議上,Fast Infoset也被稱爲二進制XML

因此,您可以使用JAXB將JAXB註釋和marchall註釋到ASN.1,或者使用像XStream這樣的較少入侵的庫來完成相同的操作。

幾個環節:

+0

謝謝你沒有回答我非常具體的問題,其中輸入是「包含帶字段的類的java源文件」並輸出「Asn.1文件」。 – Vincent 2011-06-01 05:28:05

0

看一看the Apache Harmony project

的網站上說:

的ASN.1框架提供了對ASN.1基本類型,符號和編碼規則工作的一個共同的,簡單而有效的方法。這個框架可以被描述爲Java *對象和它的ASN.1編碼形式之間的一個層,如圖1所示。

Figure 1

+0

我已經看到了這個項目,但是我沒有看到任何可以「從Java類生成ASN.1」的地方。這個具體的操作是我的問題的主題。 – Vincent 2011-06-01 05:24:41