2011-05-22 56 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