2012-04-24 57 views
1

我使用Java EE6製作Web服務時,我部署在Oracle Web-logic版本12c上,它的工作正常,但在Web服務響應上我想做一些相關的自定義命名空間,所以我做類似下面如何解決在oracle weblogic中的WebService和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; 

package-info.java文件基本上我需要這個軟件包中的每個標籤都應當確認合格,但沒有任何的不同添加後此文件,並導致爲相同的,所以有人可以幫助我如何解決這個問題在oracle weblogic上?

順便說一句,當我在glassfish 3上部署它的工作好意味着有什麼事情與oracle weblogic有關。

+0

我做了一些更多的調查,發現這個Oracle Weblogic 12c的錯誤,因爲我在11g上部署了相同的應用程序,它也像玻璃魚一樣工作正常3 – Ansari 2012-04-25 09:31:31

回答

0

2天前我們遇到了完全相同的問題。我們的解決方案是從服務實現類中刪除所有方法級別的註釋,並在endpointInterface屬性中的@WebService註釋中指定接口的完全限定名稱。

實施例:

@Stateless 
@WebService(name = "...", portName = "...", serviceName = "...", targetNamespace = "http://..", endpointInterface = "...") 
public class ServiceImpl implements Service { 
... 
} 

(我們需要的@Stateless註釋以及web服務被打包在後端耳文件)。

一個爲我們工作的替代方法是讓webservice實現類不實現服務接口(實際上破壞了兩者之間的連接)並將所有註釋複製到實現類。