J'ai deux services Web A et B. A doit invoquer l'un des webMethods dans B. Comment puis-je y parvenir? J'utilise le plugin wsimport de maven pour construire A. Ceci pour générer les stubs nécessaires pour B et les inclure dans le Webservice A. Cependant, lorsque j'essaie d'invoquer la méthode web de B, j'obtiens une exception. Quelqu'un peut-il me dire ce qu'il se passe? Ci-dessous, le code et la trace d'exception: code:comment puis-je appeler un service Web à partir d'un autre service Web?
BBeanService bbs = new BBeanService();
BBean bb = bbs.getBBeanPort();
bb.invokeWebService(); // this is throwing exception
Ceci est la trace d'exception:
java.lang.NullPointerException à com.sun.xml.ws.fault.SOAP11Fault.getProtocolException (SOAP11Fault. java: 188) à com.sun.xml.ws.fault.SOAPFaultBuilder.createException (SOAPFaultBuilder.java:116) à com.sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:119) at com .sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:89) à com.sun.xml.ws.client.sei.SEIStub.invoke (SEIStub.java:118) à $ Proxy175.getCase (Source inconnue) à com.kebok.ais.billing.server.ejb.impl.ChargeManagerBean.generateBillDetails (ChargeManagerBean.java:144) à sun.reflect. NativeMethodAccessorImpl.invoke0 (méthode native) à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) à sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) à java.lang.reflect.Method.invoke (méthode. java: 597) sur com.sun.enterprise.security.application.EJBSecurityManager.runMethod (EJBSecurityManager.java:1011) sur com.sun.enterprise.security.SecurityUtil.invoke (SecurityUtil.java:175) sur com.sun.ejb .containers.BaseContainer.invokeTargetBeanMethod (BaseContainer.java:2920) à l'adresse com.sun.ejb.containers.BaseContainer.intercept (BaseContainer.java:4011) à l'adresse com.sun.ejb.containers.WebServiceInvocationHandler.invoke (WebServiceInvocationHandler.java:190) à $ Proxy173.generateBillDetails (source inconnue) à sun.reflect.NativeMethodAccessorImpl.invoke0 (Méthode native) à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) à sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 25) sur java.la ng.reflect.Method.invoke (Method.java:597) à com.sun.enterprise.webservice.InvokerImpl.invoke (InvokerImpl.java:78) à com.sun.enterprise.webservice.EjbInvokerImpl.invoke (EjbInvokerImpl.java: 82) sur com.sun.xml.ws.server.InvokerTube $ 2.invoke (InvokerTube.java:146) sur com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke (EndpointMethodHandler.java:257) sur com. sun.xml.ws.server.sei.SEIInvokerTube.processRequest (SEIInvokerTube.java:93) à com.sun.xml.ws.api.pipe.Fiber .__ doRun (Fiber.java:595) à com.sun.xml. ws.api.pipe.Fiber._doRun (Fiber.java:554) à com.sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java:539) à com.sun.xml.ws.api. pipe.Fiber.runSync (Fiber.java:436) à com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process (AbstractTubeImpl.java:106) à com.sun.enterprise.webservice.MonitoringPipe.process (MonitoringPipe.java:147) à l'adresse com.sun.xml.ws.apipe.pipe.helper.PipeAdapter.processRequest (PipeAdapter.java:115) à l'adresse com.sun.xml.ws.api.pipe.Fiber .__ doRun (Fibre. java: 595) à com.sun.xml.ws.api.pipe.Fiber. _doRun (Fiber.java:554) à com.sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java:539) à com.sun.xml.ws.api.pipe.Fiber.runSync (Fibre. java: 436) à com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process (AbstractTubeImpl.java:106) à com.sun.xml.ws.tx.service.TxServerPipe.process (TxServerPipe.java: 317) sur com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest (CommonServerSecurityPipe.java:222) sur com.sun.enterprise.webservice.CommonServerSecurityPipe.process (CommonServerSecurityPipe.java:133) sur com.sun.xml.ws.api .pipe.helper.PipeAdapter.processRequest (PipeAdapter.java:115) à com.sun.xml.ws.api.pipe.Fiber .__ doRun (Fiber.java:595) à com.sun.xml.ws.api.pipe .Fiber._doRun (Fiber.java:554) à com.sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java:539) à com.sun.xml.ws.api.pipe.Fiber.runSync (Fiber.java:436) à com.sun.xml.ws.server.WSEndpointImpl $ 2.process (WSEndpointImpl.java:243) à com.sun.xml.ws.transport.http.HttpAdapter $ HttpToolkit.handle (HttpAdapter. java: 444) à l'adresse com.sun.xml.ws.transport. http.HttpAdapter.handle (HttpAdapter.java:244) à com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle (ServletAdapter.java:135) à com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost (Ejb3MessageDispatcher.java:113) sur com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke (Ejb3MessageDispatcher.java:87) sur com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint (EjbWebServiceServlet.java:228) sur com.sun.enterprise.webservice.EjbWebServiceServlet.service (EjbWebServiceServlet.java:157) sur javax.servlet.http.HttpServlet.service (HttpServlet.java:847) sur com.sun.enterprise .web.AdHocContextValve.invoke (AdHocContextValve.java:114) à org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) à org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:593) à org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:587) à com.sun.enterprise.web.WebPipeline.invoke (WebPipeline.java:87) à org.apache.catalina.core.StandardHostValve. invoke (StandardHostValve.java:222) sur org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) sur org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:593) sur org.apache .catalina.core.StandardPipeline.invoke (StandardPipeline.java:587) sur org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:1096) sur org.a pache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:166) à org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) à org.apache.catalina.core.StandardPipeline.doInvoke (StandardPipeline. java: 593) à org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:587) à org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:1096) à org.apache.coyote.tomcat5 .CoyoteAdapter.service (CoyoteAdapter.java:288) sur com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter (DefaultProcessorTask.java:647) sur com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess (DefaultProcessorTask.java:579) sur com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process (DefaultProcessorTask.java:831) sur com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask (DefaultReadTask.java) : 341) sur com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask (DefaultReadTask.java:263) sur com.sun.en terprise.web.connector.grizzly.DefaultReadTask.doTask (DefaultReadTask.java:214) sur com.sun.enterprise.web.portunif.PortUnificationPipeline $ PUTask.doTask (PortUnificationPipeline.java:380) sur com.sun.enterprise.web. connector.grizzly.TaskBase.run (TaskBase.java:265) sur com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run (SSLWorkerThread.java:106) Causé par: javax.xml.ws.WebServiceException: java.lang.NullPointerException à com.sun.enterprise.security.jmac.config.PipeHelper.makeFaultResponse (PipeHelper.java:328) à com.sun.enterprise.security.jmac.config.PipeHelper.getFaultResponse (PipeHelper.java:366) à com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest (CommonServerSecurityPipe.java:227) à com.sun.enterprise.webservice.CommonServerSecurityPipe.process (CommonServerSecurityPipe.java:133) à com.sun.xml.ws.api. pipe.helper.PipeAdapter.processRequest (PipeAdapter.java:115) à com.sun.xml.ws.api.pipe.Fiber .__ doRun (Fiber.java:595) à com.sun.xml.ws.api.pipe. Fibre. _doRun (Fiber.java:554) à com.sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java:539) à com.sun.xml.ws.api.pipe.Fiber.runSync (Fibre. java: 436) à com.sun.xml.ws.server.WSEndpointImpl $ 2.process (WSEndpointImpl.java:243) à com.sun.xml.ws.transport.http.HttpAdapter $ HttpToolkit.handle (HttpAdapter.java:444) à com.sun.xml.ws.transport.httpAdapter.handle (HttpAdapter.java:244) à com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle (ServletAdapter.java:135) à com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost (Ejb3MessageDispatcher.java:113) sur com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke (Ejb3MessageDispatcher.java:87) sur com.sun.enterprise.webservice.EjbWebService.dispatchToEjbEndpoint (EjbWebServiceServlet.java:228) sur com.sun.enterprise.webservice.EjbWebServiceServlet.service (EjbWebServiceServlet.java:157) sur javax.servlet.http.HttpServlet.service (HttpServlet.java:847) sur com.sun.enterprise.web .AdHocContextValve.invoke (AdHocContextValve.java:114) at org.a pache.catalina.core.StandardPipeline.doInvoke (StandardPipeline.java:648) sur org.apache.catalina.
est-ce aussi la réponse à http://stackoverflow.com/questions/2695215/how-to-invoke-a-webservice-from-one-container-in-another-container-in-glassfish – vkraemer
Vous devriez probablement ouvrir un autre question pour la requête que vous avez incorporée dans cette réponse. – vkraemer
@vkraemer Oui, il est la réponse pour http://stackoverflow.com/questions/2695215/how-to-invoke-a-webservice-from-one-container-in-another-container-in-glassfish ainsi. – missionE46