“com.xyz.ReadSomething及其任何超类的JAXB问题在此上下文中都是已知的。”

时间:2010-05-21 15:23:23

标签: jaxb

尝试调用Web服务时,我得到此异常(在标题中写入)。

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

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


有谁知道这个问题可能是什么原因?任何提示非常感谢。

谢谢,西蒙

2 个答案:

答案 0 :(得分:1)

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

但是如果没有看到你的代码就很难说它是否会解决你的问题。

答案 1 :(得分:1)

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

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