should work on trunk

tested with reload feature of tomcat

*Romain Manni-Bucau*
*Twitter: @rmannibucau*
*Blog: http://rmannibucau.wordpress.com*




2012/8/21 Enrico Olivelli <[email protected]>

> Another NPE
>
> java.lang.NullPointerException
>     at java.util.TreeMap.compare(**TreeMap.java:1188)
>     at java.util.TreeMap.put(TreeMap.**java:531)
>     at org.apache.openejb.core.**webservices.**PortAddressRegistryImpl.**
> addPort(**PortAddressRegistryImpl.java:**57)
>
>
> there is another issue,
> it I deploy the app, then undeploy it, and then deploy again OpenEJB
> thinks that the port is already deployed
> I did some little debug, it seems that "remotePort" is never called
> note: for "undeploy" I intend che "undeploy" command in netbeans, I assume
> it calls the "undeploy" command of Tomcat
> listing apps in Tomcat the app does not appear anymore
> and if I restart the server I am able to deploy the app again
>
> this prevents "reloading" the app and I think it is a kind of memory leak
> too
>
>
> Grave: Error deploying CXF webservice for servlet mybeans.MyBean
> org.apache.openejb.**OpenEJBException: A webservice port with qname {
> http://mybeans/}MyBeanPort is already registered to the portId
> localhost/WSTest.mybeans.**MyBean
>     at org.apache.openejb.core.**webservices.**PortAddressRegistryImpl.**
> addPort(**PortAddressRegistryImpl.java:**45)
>     at org.apache.openejb.server.**webservices.WsService.**
> afterApplicationCreated(**WsService.java:358)
>     at org.apache.tomee.webservices.**TomeeJaxWsService.**
> afterApplicationCreated(**TomeeJaxWsService.java:54)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native Method)
>     at sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
>     at sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
>
> - Enrico
>
> Il 20/08/2012 10:39, Romain Manni-Bucau ha scritto:
>
>> you are right,
>>
>> should be better now
>>
>> *Romain Manni-Bucau*
>> *Twitter: @rmannibucau*
>> *Blog: http://rmannibucau.wordpress.**com<http://rmannibucau.wordpress.com>
>> *
>>
>>
>>
>>
>> 2012/8/20 Enrico Olivelli <[email protected]>
>>
>>  Another NPE, same cause I think
>>>
>>> can I ask a question?
>>> public synchronized void addPort(String serviceId, QName serviceQName,
>>> String portId, QName portQName, String portInterface, String address)
>>> public synchronized void removePort(String serviceId, QName serviceQName,
>>> String portId)
>>> ....
>>> // remove from portsByInterface
>>> Map<String, PortAddress> ports = portsByInterface.get(****serviceId);
>>>
>>> ....
>>>
>>> why don't you pass portInterface to removePort too ? it seems that the
>>> key
>>> of portsByInterface in addPort is the portInterface (which is actually
>>> our
>>> problem, if it is null) and in removePort you port.serviceId is used as
>>> key
>>>
>>>
>>> Grave: Error deploying CXF webservice for servlet mybeans.MyBean
>>> java.lang.NullPointerException
>>>      at java.util.TreeMap.compare(****TreeMap.java:1188)
>>>      at java.util.TreeMap.put(TreeMap.****java:531)
>>>      at org.apache.openejb.core.****webservices.****
>>> PortAddressRegistryImpl.**
>>> addPort(****PortAddressRegistryImpl.java:****57)
>>>      at org.apache.openejb.server.****webservices.WsService.**
>>> afterApplicationCreated(****WsService.java:358)
>>>      at org.apache.tomee.webservices.****TomeeJaxWsService.**
>>> afterApplicationCreated(****TomeeJaxWsService.java:54)
>>>
>>>
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke0(Native
>>> Method)
>>>      at sun.reflect.****NativeMethodAccessorImpl.****invoke(**
>>> NativeMethodAccessorImpl.java:****57)
>>>      at sun.reflect.****DelegatingMethodAccessorImpl.****invoke(**
>>> DelegatingMethodAccessorImpl.****java:43)
>>>      at java.lang.reflect.Method.****invoke(Method.java:601)
>>>      at org.apache.openejb.observer.****ObserverManager$Observer.**
>>> invoke(ObserverManager.java:****143)
>>>      at org.apache.openejb.observer.****ObserverManager.fireEvent(**
>>> ObserverManager.java:68)
>>>
>>> - Enrico
>>>
>>>
>>> Il 18/08/2012 20:19, Romain Manni-Bucau ha scritto:
>>>
>>>  Hi,
>>>>
>>>>
>>>> I think you dont need the servlet class (or if it asks it put the
>>>> webservice class).
>>>>
>>>> If it is an ejb it is deployed without more config.
>>>>
>>>> - Romain
>>>> Le 18 août 2012 19:15, "Thiago Veronezi" <[email protected]> a écrit
>>>> :
>>>>
>>>>   Hi,
>>>>
>>>>> Can you check this example?
>>>>> http://openejb.apache.org/****examples-trunk/simple-****webservice/<http://openejb.apache.org/**examples-trunk/simple-**webservice/>
>>>>> <http://openejb.**apache.org/examples-trunk/**simple-webservice/<http://openejb.apache.org/examples-trunk/simple-webservice/>
>>>>> >
>>>>>
>>>>> Maybe there is something different in your configuration. Can you share
>>>>> the
>>>>> project you are trying to deploy?
>>>>>
>>>>> Thanks,
>>>>> Thiago.
>>>>>
>>>>>
>>>>> On Sat, Aug 18, 2012 at 12:57 PM, Enrico Olivelli <[email protected]
>>>>>
>>>>>  wrote:
>>>>>> Hi,
>>>>>> I'm trying to deploy a WebService in TomEE
>>>>>>
>>>>>> //even trying an EJB with @Stateless()
>>>>>> @WebService
>>>>>> public class NewWebService {
>>>>>> }
>>>>>>
>>>>>> but I get this error...
>>>>>>
>>>>>> Grave: Error deploying CXF webservice for servlet
>>>>>> exemples.NewWebService
>>>>>> java.lang.******IllegalArgumentException: Could not find servlet
>>>>>>
>>>>>> exemples.NewWebService in web application context /MyTestWebApp
>>>>>>       at
>>>>>>
>>>>>>  org.apache.tomee.webservices.******TomcatWsRegistry.******
>>>>> setWsContainer(**
>>>>>
>>>>>  TomcatWsRegistry.java:103)
>>>>>>       at org.apache.openejb.server.******webservices.WsService.**
>>>>>> afterApplicationCreated(******WsService.java:350)
>>>>>>       at org.apache.tomee.webservices.******TomeeJaxWsService.**
>>>>>> afterApplicationCreated(******TomeeJaxWsService.java:52)
>>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******
>>>>>> invoke0(Native
>>>>>> Method)
>>>>>>       at sun.reflect.******NativeMethodAccessorImpl.******invoke(**
>>>>>> NativeMethodAccessorImpl.java:******57)
>>>>>>       at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>>> ***invoke(**
>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>       at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>       at org.apache.openejb.observer.****
>>>>>> **ObserverManager$Observer.**
>>>>>> invoke(ObserverManager.java:******143)
>>>>>>       at org.apache.openejb.observer.****
>>>>>> **ObserverManager.fireEvent(**
>>>>>> ObserverManager.java:68)
>>>>>>       at org.apache.openejb.loader.******SystemInstance.fireEvent(**
>>>>>> SystemInstance.java:84)
>>>>>>       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
>>>>>> afterStart(**
>>>>>> TomcatWebAppBuilder.java:1075)
>>>>>>       at
>>>>>>
>>>>>>  org.apache.tomee.catalina.******GlobalListenerSupport.******
>>>>> lifecycleEvent(
>>>>>
>>>>>  **GlobalListenerSupport.java:******104)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> I tred to add a Servlet mapped with CFX to web.xml
>>>>>>    <servlet>
>>>>>> <servlet-name>exemples.******NewWebService</servlet-name>
>>>>>> <servlet-class>org.apache.cxf.******transport.servlet.****
>>>>>> CXFServlet</**
>>>>>> servlet-class>
>>>>>>       </servlet>
>>>>>>       <servlet-mapping>
>>>>>> <servlet-name>exemples.******NewWebService</servlet-name>
>>>>>>           <url-pattern>/NewWebService</******url-pattern>
>>>>>>       </servlet-mapping>
>>>>>>
>>>>>>
>>>>>> but now..
>>>>>> org.apache.catalina.******LifecycleException: Failed to start
>>>>>> component
>>>>>> [StandardEngine[Catalina].******StandardHost[localhost].**
>>>>>> StandardContext[/Servizio]]
>>>>>>       at org.apache.catalina.util.******LifecycleBase.start(**
>>>>>> LifecycleBase.java:154)
>>>>>>       at org.apache.catalina.core.******ContainerBase.****
>>>>>> addChildInternal(**
>>>>>> ContainerBase.java:901)
>>>>>>       at org.apache.catalina.core.******ContainerBase.addChild(**
>>>>>> ContainerBase.java:877)
>>>>>>       at org.apache.catalina.core.******StandardHost.addChild(**
>>>>>> StandardHost.java:618)
>>>>>>       at org.apache.catalina.startup.****
>>>>>> **HostConfig.deployDescriptor(****
>>>>>> HostConfig.java:650)
>>>>>>       at org.apache.catalina.startup.******HostConfig.deployApps(**
>>>>>> HostConfig.java:531)
>>>>>>       at org.apache.catalina.startup.****
>>>>>> **HostConfig.check(HostConfig.****
>>>>>> java:1468)
>>>>>>       at sun.reflect.******GeneratedMethodAccessor108.*****
>>>>>> *invoke(Unknown
>>>>>> Source)
>>>>>>       at sun.reflect.******DelegatingMethodAccessorImpl.***
>>>>>> ***invoke(**
>>>>>> DelegatingMethodAccessorImpl.******java:43)
>>>>>>       at java.lang.reflect.Method.******invoke(Method.java:601)
>>>>>>       at org.apache.tomcat.util.******modeler.BaseModelMBean.invoke(*
>>>>>> *****
>>>>>> BaseModelMBean.java:301)
>>>>>>       at
>>>>>>
>>>>>>  com.sun.jmx.interceptor.******DefaultMBeanServerInterceptor.**
>>>>> ****invoke(**
>>>>>
>>>>>  DefaultMBeanServerInterceptor.******java:819)
>>>>>>       at com.sun.jmx.mbeanserver.******JmxMBeanServer.invoke(**
>>>>>> JmxMBeanServer.java:791)
>>>>>>       at org.apache.catalina.manager.******ManagerServlet.check(**
>>>>>> ManagerServlet.java:1436)
>>>>>>       at org.apache.catalina.manager.******ManagerServlet.deploy(**
>>>>>> ManagerServlet.java:856)
>>>>>>       at org.apache.catalina.manager.******ManagerServlet.doGet(**
>>>>>> ManagerServlet.java:353)
>>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:621)
>>>>>>       at javax.servlet.http.******HttpServlet.service(****
>>>>>> HttpServlet.java:722)
>>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******305)
>>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>       at org.apache.catalina.filters.****
>>>>>> **SetCharacterEncodingFilter.****
>>>>>> doFilter(******SetCharacterEncodingFilter.******java:108)
>>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.**
>>>>>> internalDoFilter(******ApplicationFilterChain.java:******243)
>>>>>>       at org.apache.catalina.core.******ApplicationFilterChain.****
>>>>>> doFilter(**
>>>>>> ApplicationFilterChain.java:******210)
>>>>>>       at org.apache.catalina.core.******
>>>>>> StandardWrapperValve.invoke(**
>>>>>> StandardWrapperValve.java:225)
>>>>>>       at org.apache.catalina.core.******
>>>>>> StandardContextValve.invoke(**
>>>>>> StandardContextValve.java:123)
>>>>>>       at org.apache.tomee.catalina.******OpenEJBValve.invoke(**
>>>>>> OpenEJBValve.java:45)
>>>>>>       at org.apache.catalina.******authenticator.****
>>>>>> AuthenticatorBase.invoke(**
>>>>>> AuthenticatorBase.java:581)
>>>>>>       at org.apache.catalina.core.******StandardHostValve.invoke(**
>>>>>> StandardHostValve.java:168)
>>>>>>       at org.apache.catalina.valves.******ErrorReportValve.invoke(**
>>>>>> ErrorReportValve.java:98)
>>>>>>       at org.apache.catalina.valves.******AccessLogValve.invoke(**
>>>>>> AccessLogValve.java:927)
>>>>>>       at org.apache.catalina.core.******StandardEngineValve.invoke(**
>>>>>> StandardEngineValve.java:118)
>>>>>>       at org.apache.catalina.connector.******CoyoteAdapter.service(**
>>>>>> CoyoteAdapter.java:407)
>>>>>>       at org.apache.coyote.http11.******AbstractHttp11Processor.****
>>>>>> process(**
>>>>>> AbstractHttp11Processor.java:******1001)
>>>>>>       at
>>>>>>
>>>>>>  org.apache.coyote.******AbstractProtocol$******
>>>>> AbstractConnectionHandler.**
>>>>>
>>>>>  process(AbstractProtocol.java:******585)
>>>>>>       at org.apache.tomcat.util.net.*****
>>>>>> *JIoEndpoint$SocketProcessor.****
>>>>>> run(JIoEndpoint.java:312)
>>>>>>       at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
>>>>>> ***
>>>>>> ThreadPoolExecutor.java:1110)
>>>>>>       at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
>>>>>> ****
>>>>>> ThreadPoolExecutor.java:603)
>>>>>>       at java.lang.Thread.run(Thread.******java:722)
>>>>>> Caused by: java.lang.******NoClassDefFoundError:
>>>>>>
>>>>>>  org/springframework/context/*
>>>>>
>>>>>  *ApplicationListener
>>>>>>       at java.lang.ClassLoader.******defineClass1(Native Method)
>>>>>>       at java.lang.ClassLoader.******defineClass(ClassLoader.java:***
>>>>>> ***791)
>>>>>>       at java.security.******SecureClassLoader.defineClass(******
>>>>>> SecureClassLoader.java:142)
>>>>>>       at java.net.URLClassLoader.******defineClass(URLClassLoader.***
>>>>>> ***
>>>>>> java:449)
>>>>>>       at java.net.URLClassLoader.******access$100(URLClassLoader.****
>>>>>> java:71)
>>>>>>       at java.net.URLClassLoader$1.run(******URLClassLoader.java:361)
>>>>>>       at java.net.URLClassLoader$1.run(******URLClassLoader.java:355)
>>>>>>       at java.security.******AccessController.doPrivileged(**
>>>>>> ****Native
>>>>>> Method)
>>>>>>       at java.net.URLClassLoader.******findClass(URLClassLoader.java:
>>>>>> ****
>>>>>> **354)
>>>>>>       at java.lang.ClassLoader.******loadClass(ClassLoader.java:*****
>>>>>> *423)
>>>>>>       at java.lang.ClassLoader.******loadClass(ClassLoader.java:*****
>>>>>> *410)
>>>>>>       at java.lang.ClassLoader.******loadClass(ClassLoader.java:*****
>>>>>> *410)
>>>>>>       at org.apache.openejb.core.******TempClassLoader.loadClass(**
>>>>>> TempClassLoader.java:146)
>>>>>>       at org.apache.openejb.core.******TempClassLoader.loadClass(**
>>>>>> TempClassLoader.java:66)
>>>>>>       at org.apache.openejb.config.******AnnotationDeployer$**
>>>>>> ProcessAnnotatedBeans.deploy(******AnnotationDeployer.java:**1904)
>>>>>>       at org.apache.openejb.config.******AnnotationDeployer$**
>>>>>> ProcessAnnotatedBeans.deploy(******AnnotationDeployer.java:**1678)
>>>>>>       at org.apache.openejb.config.******AnnotationDeployer.deploy(**
>>>>>>
>>>>>> AnnotationDeployer.java:333
>>>>>>
>>>>>>
>>>>>> I always deployed webservices with pure Metro deployed in the webapp,
>>>>>> but
>>>>>> I wanted to try the out-of-the-box support in TomEE
>>>>>>
>>>>>> Thanks
>>>>>> - Enrico
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>

Reply via email to