我正在使用 Java EE6 制作 Web 服务,当我部署在 Oracle Web-Logic 版本 12c 上时,它工作正常,但在 Web 服务响应上,我想做一些与命名空间相关的自定义,所以我制作了如下所示的 package-info.java 文件
<小时/>@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.simple.org/",
attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package example;
<小时/>
基本上我需要这个包,每个标签都应该是合格的,但是添加这个文件和结果之后没有什么不同,所以有人可以帮助我如何在oracle weblogic上解决这个问题?
顺便说一句,当我在 glassfish 3 上部署时,它工作正常,这意味着存在与 oracle weblogic 相关的东西。
最佳答案
两天前我们遇到了完全相同的问题。我们案例中的解决方案是从服务实现类中删除所有方法级注释,并在 endpointInterface 属性的 @WebService 注释中指定接口(interface)的完全限定名称。
示例:
@Stateless
@WebService(name = "...", portName = "...", serviceName = "...", targetNamespace = "http://..", endpointInterface = "...")
public class ServiceImpl implements Service {
...
}
(我们需要@Stateless注解,并且web服务被打包在后端ear文件中)。
对我们有用的另一种方法是使 Webservice 实现类不实现服务接口(interface)(实际上破坏了两者之间的连接)并将所有注释复制到实现类。
关于java - 如何修复oracle weblogic中的WebService和package-info.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295128/