2017-08-17 26 views
12

किसी कारण से वेब सेवा के आमंत्रण ने मेरे स्थानीय वेबलॉगिक 12 सी स्थापना पर NullPointerException फेंकता है। एक ही पैकेज वेबलॉगिक 12 सी के दूसरे उदाहरण पर सही ढंग से काम करता है, इसलिए मेरे वेबलॉगिक कॉन्फ़िगरेशन या सर्वर/जावा स्टार्टअप पैरामीटर पर कुछ गलत होना चाहिए। हालांकि, मुझे पता नहीं लगा कि क्या अंतर है, और सर्वर लॉग संदेश बिल्कुल मदद नहीं करता है। बेशक हम एक ही जेआरई और क्लासपाथ पुस्तकालयों का उपयोग कर रहे हैं।वेबलॉगिक 12 सी वेब सेवा NullPointerException

यहाँ अपवाद

####<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) 

किसी भी विचार क्या इस अपवाद का कारण हो सकता है (या मैं इसे कैसे डीबग कर सकते हैं, लगता है जैसे अपवाद, weblogic द्वारा उत्पन्न एक गतिशील प्रॉक्सी से फेंक दिया जाता है से पहले नियंत्रण भी करने के लिए चला जाता है कार्यान्वयन वर्ग)। क्या मैं अपवाद अधिक verbose कर सकते हैं? क्या यह एक सुरक्षा मुद्दा हो सकता है? लेकिन फिर, stacktrace में कुछ भी इंगित करता है कि। इसके अलावा, तैनाती लॉग में कोई अपवाद नहीं है।

+0

एटी GIVES मैं ने पाया है कि त्रुटि तब होती है जब 'config.xml' 01 शामिल' weblogic सच '। क्या आपके पास ऐसी कॉन्फ़िगरेशन है? – Ilya

+0

कोई पर्याप्त जानकारी नहीं है, जिस पर कोई आपको समाधान बता सकता है। आप किस webservice तक पहुंचने की कोशिश कर रहे हैं। क्या यह विशिष्ट webservice एपीआई के लिए विशिष्ट है? आप निष्पादित/कॉल करने का प्रयास कैसे कर रहे हैं? – Ravi

+0

स्टैकट्रेस 'weblogic.wsee.jaxws' स्पष्ट रूप से मैं JAX-WS एपीआई और Weblogic कार्यान्वयन उपयोग कर रहा हूँ। मैं बस डब्ल्यूएस-सुरक्षा डाइजेस्ट प्रमाणीकरण का उपयोग कर सोपूआई के साथ सामान्य वेब सेवा तक पहुंचने की कोशिश कर रहा हूं। –

उत्तर

3

आशा इस मदद करता है:

(MOSC (मेरे ओरेकल समर्थन समुदाय) java.lang.NullPointerException से: com.sun.xml.ws.spi.db.JAXBWrapperAccessor.getPropertyAccessor जब WebService नियोजित करना (दस्तावेज आईडी 2207272,1))

APPLIES TO: 

Oracle WebLogic सर्वर - 12.2.1.2.0 [रिलीज 12C] इस दस्तावेज़ में सूचना किसी भी मंच पर लागू होता है संस्करण 12.1.1.0 करने के लिए।

SYMPTOMS 

नीचे नमूना कोड स्निपेट के साथ एक वेब सेवा आवेदन की तैनाती करने का प्रयास करते हैं, तो

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

निम्न त्रुटि होती है:

जावा। लैंग। NullPointerException: com.sun.xml.ws.spi.db.JAXBWrapperAccessor.getPropertyAccessor (JAXBWrapperAccessor.java:261) com.sun.xml.ws.db.toplink.JAXBContextWrapper.getElementPropertyAccessor पर (JAXBContextWrapper.java:170 पर) com.sun.xml.ws.server.sei.EndpointArgumentsBuilder $ DocLit पर (EndpointArgumentsBuilder.java:598) com.sun.xml.ws.server.sei.TieHandler.createArgumentsBuilder (TieHandler.java पर।: 143) com.sun.xml.ws.server.sei.TieHandler पर। (TieHandler.java:115) com.sun.xml.ws.db.DatabindingImpl। (DatabindingImpl.java:118) कॉम पर। sun.xml.ws.db.DatabindingProviderImpl.create (DatabindingProviderImpl.java:74) पर com.sun.xml.ws.db.DatabindingProviderImpl.create (DatabindingProviderImpl.java:58) com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime (DatabindingFactoryImpl.java:120) com.sun पर पर। xml.ws.server.EndpointFactory.createSEIModel (EndpointFactory.java:521) com.sun.xml.ws.server.EndpointFactory.create (EndpointFactory.java:300) पर com.sun.xml.ws. पर सर्वर पर। EndpointFactory.createEndpoint (EndpointFactory.java:164) कॉम पर।sun.xml.ws.api.server.WSEndpoint.create com.sun.xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:560) com.sun पर पर (WSEndpoint.java:577)। xml.ws.api.server.WSEndpoint.create (WSEndpoint.java:639) weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint (JAXWSDeployedServlet.java:355) पर weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint पर (JAXWSServlet जावा: 167) weblogic.wsee.jaxws.JAXWSServlet.init (JAXWSServlet.java:79) weblogic.wsee.jaxws.JAXWSDeployedServlet.init (JAXWSDeployedServlet.java:91) पर javax.servlet.GenericServlet.init पर पर (जेनेरिक सर्वलेट.जावा 4444)

CAUSE 

यह Eclipselink MOXY प्रदाता के साथ एक ज्ञात समस्या है। XmlElementWrapper एनोटेशन नजरअंदाज कर दिया। मुद्दा बग की रिपोर्ट में किया गया है: 16,685,902 [https://support.oracle.com/epmos/faces/BugDisplay?parent=DOCUMENT&sourceId=2207272.1&id=16685902] - वेब सेवा पैरामीटर सूची परिनियोजन NullPointerException देता है।

SOLUTION 

WebLogic सर्वर 12.1.1 के लिए पैच 16,685,902 [https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?parent=DOCUMENT&sourceId=2207272.1&patchId=16685902] लागू करें।

सेट PRE_CLASSPATH =% WLS% \ मॉड्यूल \ databinding.override_1.0.0.0.jar

REFERENCES 

बग: समाधान के लिए, नीचे करके वेबलॉजिक में Eclipselink MOXY प्रदाता का उपयोग कर से बचने : 16685902 [https://support.oracle.com/epmos/faces/BugDisplay?parent=DOCUMENT&sourceId=2207272.1&id=16685902] - वेब सेवा पैरामीटर सूची NullPointerException तैनाती