2010-05-21 78 views
0

当我试图调用一个web服务时,我得到了这个异常(写在标题中)。

到目前为止的道路是,我通过wsimport为对象,服务和服务方法生成了一堆类,如果我只使用生成的对象调用服务工程。

问题是,wsimport也会生成已经作为我的域对象存在的类,显然我不能在这两个之间进行转换,所以我只想使用我的域对象。因此,我删除了生成的重复对象,并将所需的JAXB注释添加到了我的域对象。我还将生成的package-info.java和ObjectFactory.java复制到相应的包中。
但是现在,当我尝试调用该服务时,我得到这个异常,表示方法的代理对象对于上下文是未知的。


有没有人知道这个问题的原因是什么?任何提示非常感谢。

谢谢,西蒙有关“com.xyz.ReadSomething及其任何超类的JAXB问题已知此情况。”

回答

1

在您的JAXB注解类尝试添加@XmlSeeAlso({ReadSomething.class})。这是我解决我的代码中的异常。

但是很难说如果它能解决您的问题或者没有看到您的代码。

1

我有一个非常类似的问题,它通过重新构建我的XJC生成的文件来解决。

我的目标Web服务使用的Web对象是在几个XSD文件中定义的,当我在每个XSD上运行XJC时,每次都会覆盖ObjectFactory,所以我最终只使用了一些定义的类。我再次运行XJC,并将所有对象定义集中到一个ObjectFactory中,并确保每次需要客户端对象时都指向该工厂。这最终解决了我的问题。

+0

而不是手动连接到生成的'ObjectFactory',我认为这个问题可以通过在** XJC **的同一个命令中简单地指定所有'.xsd'文件来解决。这样所有的类都可以在ObjectFactory中访问。 – 2011-08-31 18:12:32

相关问题