2017-08-17 22 views
12

Web Service'in çağrılması bazı durumlarda WebLicic 12c yüklememe NullPointerException atar. Aynı paket, Weblogic 12c'nin başka bir örneğinde doğru şekilde çalışır, bu yüzden weblogic yapılandırma veya sunucu/java başlangıç ​​parametrelerimde bir sorun olması gerekir. Ancak, farkın ne olduğunu anlayamadım ve sunucu günlük mesajı hiç yardımcı olmuyor. Elbette aynı JRE ve classpath kütüphanelerini kullanıyoruz. İşte Weblogic 12c Web Hizmeti NullPointerException

istisna

####<8.8.2017, 2:10:53,106 ip. EEST> <Error> <com.sun.xml.ws.server.sei.TieHandler> <IT-V-R90HKRNH> <is-mansrv> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <HekoPassi> <> <46eb29b8-cb8a-44a9-94ed-e223acc07388-0000005d> <1502190653106> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-000000> <null 
java.lang.NullPointerException 
    at weblogic.ejb.container.internal.BaseWSLocalObject.__WL_preInvoke(BaseWSLocalObject.java:85) 
    at com.foo.bar.service.sessionfacade.SessionFacadeBean_afdkf0_WSOImpl.__WL_getPublicKey_WS_preInvoke(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at weblogic.wsee.server.ejb.WsEjb.preInvoke(WsEjb.java:50) 
    at weblogic.wsee.jaxws.WLSEjbInstanceResolver$WLSEjbInvoker.invoke(WLSEjbInstanceResolver.java:193) 
    at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:93) 
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:149) 
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:88) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877) 
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:419) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:868) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:422) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:169) 
    at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:229) 
    at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:667) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:368) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:163) 
    at weblogic.wsee.util.ServerSecurityHelper.authenticatedInvoke(ServerSecurityHelper.java:108) 
    at weblogic.wsee.jaxws.HttpServletAdapter$3.run(HttpServletAdapter.java:286) 
    at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:295) 
    at weblogic.wsee.jaxws.JAXWSServlet.doRequest(JAXWSServlet.java:128) 
    at weblogic.servlet.http.AbstractAsyncServlet.service(AbstractAsyncServlet.java:103) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260) 
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3679) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3649) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) 
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) 
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) 
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) 
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433) 
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2259) 
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1691) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1651) 
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270) 
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) 
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) 
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) 
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:346) 

bu duruma neden (veya bunu nasıl debug edileceği, kontrol bile gitmeden önce istisna, WebLogic'e tarafından oluşturulan dinamik bir vekil atılır gibi görünüyor olabilir Bir fikrin ne olduğunu uygulama sınıfı). Özel durumu daha ayrıntılı hale getirebilir miyim? Bu bir güvenlik sorunu olabilir mi? Ama sonra tekrar, stacktrace'deki hiçbir şey bunu belirtmez. Ayrıca, dağıtım günlüğünde hiçbir özel durum yoktur.

+0

AT NullPointerException VERİR' weblogic gerçek '. Böyle bir konfigürasyon var mı? – Ilya

+0

Birinin size çözümü anlatabileceği yeterli bilgi yok. Web servisine erişmeye çalıştığınız gibi. Belirli web servis api özel mi? nasıl yürütmeye/aramaya çalışıyorsunuz? – Ravi

+0

'weblogic.wsee.jaxws' stacktrace, JAX-WS API ve Weblogic uygulamasını kullandığımı açıkça belirtiyor. WS-güvenlik özet kimlik doğrulaması kullanarak SoapUI ile tipik web hizmetine erişmeye çalışıyorum. –

cevap

3

Umut bu yardımcı olur:

(MOSC (My Oracle Destek Topluluğu) java.lang.NullPointerException dan: com.sun.xml.ws.spi.db.JAXBWrapperAccessor.getPropertyAccessor webservice zaman Dağıtma (Doküman kimliği 2207272,1)) Oracle WebLogic Server

APPLIES TO: 
- 12.2.1.2.0 [Release 12c] Bu belgedeki bilgiler herhangi bir platform için de geçerlidir Sürüm 12.1.1.0 için.
SYMPTOMS 

aşağıdaki örnek kod parçası ile bir webservice uygulaması dağıtma girişiminde

,

@WebService 
public interface HelloServiceInterface { 
@WebMethod 
@RequestWrapper(className = "hello.HelloRequest") 
public String hello(@WebParam(name = "names") List<String> names); 

aşağıdaki hata oluşur:

java. lang. NullPointerException: com.sun.xml.ws.db.toplink.JAXBContextWrapper.getElementPropertyAccessor de com.sun.xml.ws.spi.db.JAXBWrapperAccessor.getPropertyAccessor (JAXBWrapperAccessor.java:261) (JAXBContextWrapper.java:170 de com.sun.xml.ws.server.sei.EndpointArgumentsBuilder $ DocLit at) com.sun.xml.ws.server.sei.TieHandler.createArgumentsBuilder (TieHandler.java de (EndpointArgumentsBuilder.java:598) .: 143) com.sun.xml.ws.server.sei.TieHandler adresinde (TieHandler.java:115) com.sun.xml.ws.db.DatabindingImpl. (DatabindingImpl.java:118) com. sun.xml.ws.db.DatabindingProviderImpl.create (DatabindingProviderImpl.java:74) , com.sun.xml.ws.db.DatabindingProviderImpl.create com.sun de com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime (DatabindingFactoryImpl.java:120) de (DatabindingProviderImpl.java:58) . com.sun.xml.ws. de xml.ws.server.EndpointFactory.createSEIModel com.sun.xml.ws.server.EndpointFactory.create (EndpointFactory.java:300) 'den (EndpointFactory.java:521) server.EndpointFactory.createEndpoint (EndpointFactory.java:164) adresinde com.sun.xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:577) com.sun.xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:560) adresinden com.sun. weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint de weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint (JAXWSDeployedServlet.java:355) de xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:639) (JAXWSServlet .Java: 167) javax.servlet.GenericServlet.init de weblogic.wsee.jaxws.JAXWSDeployedServlet.init (JAXWSDeployedServlet.java:91) de weblogic.wsee.jaxws.JAXWSServlet.init (JAXWSServlet.java:79) en (GenericServlet.java:244)

CAUSE 

Bu Eclipselink MOXy sağlayıcısı ile bilinen bir sorundur. XmlElementWrapper ek açıklaması yoksayıldı. Sorun, Hata: 16685902 (https://support.oracle.com/epmos/faces/BugDisplay?parent=DOCUMENT&sourceId=2207272.1&id=16685902) - WEB SUNUCUSU PARAMETRE LİSTESİNİN HEDEFİNDE NULLPOINTEREXCEPTION.

SOLUTION 

WebLogic Sunucusu 12.1.1 için Patch 16685902 [ https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?parent=DOCUMENT&sourceId=2207272.1&patchId=16685902] uygulayın.

set PRE_CLASSPATH =% WLS% \ modülleri \ databinding.override_1.0.0.0.jar

REFERENCES 

Hata: Çözüm olarak, aşağıda yaparak WebLogic'te EclipseLink Moxy sağlayıcısını kullanarak kaçının : 16685902 [https://support.oracle.com/epmos/faces/BugDisplay?parent=DOCUMENT&sourceId=2207272.1&id=16685902] - Webservice PARAMETRE LİSTESİ I config.xml` 01 içerdiğinde `bu hata oluşur bulduk YAYILIMI