2012-04-26 62 views
37

我在写一个使用jax-ws的web服务。 Web服务的一个方法返回bean,其中包含对其父项的引用。为了防止循环引用,我在我的bean中使用了JAXB @XMLID和@XMLIDRef注释。在.NET中处理JAXB @XMLIDRef

然后,我为java客户端生成代理类一切正常,id解析为对象属性。但是,然后我在Visual Studio for .NET中生成Web服务客户端代理,它将idrefs解释为字符串属性,而不是Object。

是否有可能通过解析idrefs从wsdl for .NET生成代理类?

+2

看来.NET更喜欢id/ref属性组合。请参阅http://stackoverflow.com/a/1617566/278836。所以.NET不喜欢Java方式,Java不喜欢.NET方式;至少在盒子外面(据我所知)。我对此也很感兴趣,因为跨平台引用似乎是一个相当重要的特性。 – 2012-06-14 02:34:51

+1

@安德鲁怀特谢谢你的参考。我坐在这里琢磨着我是如何设法避免这一互动混乱的。我阅读了该链接,导致链接:http://blogs.msdn.com/b/sowmy/archive/2006/03/26/561188.aspx。也许问题归结为:所描述的技术是否足以允许.NET/Java互操作? – 2012-07-31 16:12:42

回答

1

开箱即用Microsoft的工具不会为您完成这项工作。您必须要求Microsoft更改wsdl生成工具的

。例如:

在最近的一个项目,我必须解决这些工具的短期缺憾和修饰使用基本生成的代码脚本修复了没有生成所需方式的东西(在我们的例子中,与Java端wsdl生成不兼容)

+0

请说明你是如何得出结论的。 – 2012-12-24 03:25:30