2011-04-06 50 views
1

我在嘗試使用WebServices時出現此錯誤。我搜索了它,發現它發生是因爲可能存在不同版本的相同類文件或發生了一些衝突。我試着在運行Web應用程序時給出一個支持的目錄路徑,但仍然沒有運氣。我使用的環境是JDK 1.6.0.20和JBoss 5.0:Java連接錯誤JAX-WS

java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, com/abc/amservice/AMService, and the class loader (instance of <bootloader>) for resolved class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature 
    com.abc.amservice.AMService.<init>(AMService.java:48) 
    com.abcx.accessmanager.plugin.provider.webservice.ServiceConnection.createAndInitializeNewService(ServiceConnection.java:103) 
    com.abcx.accessmanager.plugin.provider.webservice.ServiceConnection.getAMService(ServiceConnection.java:91) 
    com.abcx.accessmanager.plugin.provider.webservice.ServiceConnection.createNewServicePort(ServiceConnection.java:136) 
    com.abcx.accessmanager.plugin.provider.webservice.ServiceConnection.getWebServicePort(ServiceConnection.java:69) 
    com.abcx.accessmanager.plugin.provider.webservice.AuthenticationProviderWebService.getWebServicePort(AuthenticationProviderWebService.java:536) 
    com.abcx.accessmanager.plugin.provider.webservice.AuthenticationProviderWebService.authenticateUser(AuthenticationProviderWebService.java:80) 
    com.abcx.accessmanager.plugin.provider.validator.ValidatingAuthenticationProvider.authenticateUser(ValidatingAuthenticationProvider.java:59) 
    com.abcx.accessmanager.plugin.api.AccessManagementServiceConnector.authenticateUser(AccessManagementServiceConnector.java:61) 
    com.qwe.spring.security.MyAuthenticationProvider.additionalAuthenticationChecks(MyAuthenticationProvider.java:33) 
    org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:137) 
    org.springframework.security.providers.ProviderManager.doAuthentication(ProviderManager.java:188) 
    org.springframework.security.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:46) 
    org.springframework.security.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:82) 
    org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:259) 
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) 
    org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) 
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) 
    org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) 
    org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) 
    org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) 
    org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) 
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) 
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 

希望得到任何幫助。謝謝

回答

2

解決方案可以在this question中找到。

簡而言之:確保你沒有部署另一javax.xml.namespace.*包,依靠隨機附帶Java中的一個6

0

有兩個選項,可以幫助你:

1 - 更改的Jboss版本在運行時。再次下載Jboss,你的版本可能被破解,這很常見。因此,請根據您的安裝在Eclipse中設置您的Jboss運行時,如:「C:\ jboss-eap-5.1 \ jboss-as」。

OR

2 - 只是刪除在構建路徑的lib wsdl4j.jar,如果可行的話,你的情況。