Giter Site home page Giter Site logo

jain-slee.http's Introduction

Note

On 29 June 2023, Mobius Software LTD signed an agreement with Mavenir to assume development and support of the RestcommOne on prem products. For more details regarding open source / commercial differentiation, roadmap, licensing and other details please visit the Mobius Website.

jain-slee.http's People

Contributors

abhayani avatar anatolysatanovskiy-mobius avatar deruelle avatar emmartins avatar leedark avatar nhanth87 avatar sergeylee avatar yarel79 avatar yulianoifa-mobius avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jain-slee.http's Issues

restcomm.war web.xml has incorrect <servlet-class> and <listener-class>

With current configuration restcomm.jar fails to deploy on wildfly-10.1.0.Final with:

2017-04-05 13:16:52,468 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "restcomm.wa
r")]) - failure description: {
    "WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host./restcomm.UndertowDeploymentInfoService" => "org.jboss.msc.service.StartException in servic
e jboss.undertow.deployment.default-server.default-host./restcomm.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: HttpServletRaServlet from [Module \"deployment.restcom
m.war:main\" from Service Module Loader]
    Caused by: java.lang.ClassNotFoundException: HttpServletRaServlet from [Module \"deployment.restcomm.war:main\" from Service Module Loader]"},
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host./restcomm.UndertowDeploymentInfoService"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
}

This is because of:
resources/http-servlet/war/src/main/webapp/WEB-INF/web.xml
and do not define the full classpath.

The change solves the issue:

> diff --git a/resources/http-servlet/war/src/main/webapp/WEB-INF/web.xml b/resources/http-servlet/war/src/main/webapp/WEB-INF/web.xml
> index d80a73a..dd30211 100644
> --- a/resources/http-servlet/war/src/main/webapp/WEB-INF/web.xml
> +++ b/resources/http-servlet/war/src/main/webapp/WEB-INF/web.xml
> 
> @@ -9,13 +9,13 @@
>         </welcome-file-list>
>         <listener>
>                 <listener-class>
> -                       HttpServletRaSessionListener
> +                       org.restcomm.slee.resource.http.HttpServletRaSessionListener^M
>                 </listener-class>
>         </listener>            
>         <servlet>
>                 <servlet-name>${servlet-name}</servlet-name>
>                 <servlet-class>
> -                       HttpServletRaServlet
> +                       org.restcomm.slee.resource.http.HttpServletRaServlet^M
>                 </servlet-class>
>          <init-param>
>              <param-name>ra-entry-point-jndi-name</param-name>
> 

http-servlet RA deployment failure

Hi,

My environment is:
SLEE: restcomm-slee-7.1.77.80-wildfly-10.1.0.Final
HTTP: restcomm-slee-ra-http-servlet-DU-7.1.18.jar

I got the following error while trying to deploy http-servlet RA on the mentioned SLEE version:
10:12:38,359 ERROR [org.mobicents.slee.container.deployment.jboss.DeploymentManager] (MSC service thread 1-6) Failure invoking 'InstallDeployableUnitAction[file:/dev_apps/restcomm/restcomm-slee-7.1.77.80-wildfly-10.1.0.Final/wildfly-10.1.0.Final/standalone/tmp/vfs/temp/tempfcfe1aebac435879/content-3760cc2e2149a140/content/]: javax.slee.management.DeploymentException: Failure encountered during deploy process. at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:340) at org.mobicents.slee.container.deployment.jboss.action.InstallDeployableUnitAction.invoke(InstallDeployableUnitAction.java:41) at org.mobicents.slee.container.deployment.jboss.DeploymentManager.sciAction(DeploymentManager.java:316) at org.mobicents.slee.container.deployment.jboss.DeploymentManager.installDeployableUnit(DeploymentManager.java:161) at org.mobicents.slee.container.deployment.jboss.SLEESubDeployer.start(SLEESubDeployer.java:278) at org.mobicents.slee.container.deployment.jboss.SleeContainerDeployerImpl.start(SleeContainerDeployerImpl.java:264) at org.restcomm.slee.container.build.as7.deployment.ExternalDeployerImpl.callSubDeployer(ExternalDeployerImpl.java:186) at org.restcomm.slee.container.build.as7.deployment.ExternalDeployerImpl.deploy(ExternalDeployerImpl.java:136) at org.restcomm.slee.container.build.as7.deployment.SleeDeploymentInstallProcessor.deploy(SleeDeploymentInstallProcessor.java:46) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: javax.slee.management.DeploymentException: Component ResourceAdaptorID[name=HttpServletResourceAdaptor,vendor=org.restcomm,version=1.0] requires a class that was not found at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.loadAndSetNonGeneratedComponentClasses(DeployableUnitBuilderImpl.java:524) at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:236) at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:72) at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:164) ... 14 more Caused by: java.lang.NoClassDefFoundError: org/restcomm/slee/resource/http/HttpServletResourceEntryPoint at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClassLocallyLocked(URLClassLoaderDomainImpl.java:272) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClass(URLClassLoaderDomainImpl.java:241) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.loadClass(URLClassLoaderDomainImpl.java:200) at java.lang.ClassLoader.loadClass(ClassLoader.java:411) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.loadAndSetNonGeneratedComponentClasses(DeployableUnitBuilderImpl.java:452) ... 17 more Caused by: java.lang.ClassNotFoundException: org.restcomm.slee.resource.http.HttpServletResourceEntryPoint at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClassLocallyLocked(URLClassLoaderDomainImpl.java:272) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClass(URLClassLoaderDomainImpl.java:241) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.loadClass(URLClassLoaderDomainImpl.java:200) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 33 more

Also, I've tried the 7.0.0-SNAPSHOT version and without any progress.

Documentation update - empty HTTP response event processing description

When there is an IOException during the HTTP method execution, RA fires an empty HTTP Response Event, where HTTP response object is null. Situation applies both in HTTP Client RA and HTTP Client NIO RA.

Such situation, if not processed correctly, leads to runtime NPE exception.
SBBs, during response event processing, should first call ResponseEvent#getException method and only if that gives back null then they should call ResponseEvent#getHttpResponse.

Update version of HttpAsyncClient. Now it uses 4.0-beta3.

If I change only version to 4.0 in parent pom.xml I have errors:

[ERROR] /home/sergeypovarnin/Projects/MobiusRepo/jain-slee.http/resources/http-client-nio/ra/src/main/java/org/mobicents/slee/ra/httpclient/nio/ra/HttpClientNIOResourceAdaptor.java:[123,22] error: cannot find symbol
[ERROR] variable httpclient of type HttpAsyncClient
/home/sergeypovarnin/Projects/MobiusRepo/jain-slee.http/resources/http-client-nio/ra/src/main/java/org/mobicents/slee/ra/httpclient/nio/ra/HttpClientNIOResourceAdaptor.java:[153,27] error: cannot find symbol
[ERROR] variable httpclient of type HttpAsyncClient
/home/sergeypovarnin/Projects/MobiusRepo/jain-slee.http/resources/http-client-nio/ra/src/main/java/org/mobicents/slee/ra/httpclient/nio/ra/HttpClientNIOResourceAdaptorSbbInterfaceImpl.java:[41,22] error: cannot find symbol
[INFO] 3 errors

Perhaps we can update HttpAsyncClient to last 4.1.x version.

HTTP Servlet RA - default HTTP response status change

Hi,

Currenty if there is no HTTP servlet request processing invoked within SBB, the default 200 OK response is returned. Such response status appears to be missleading as in fact, there is no request processing on the server side.

The 501 Not Implemented response seems to be the most proper indication for the client side.

I propose to introduce such modification.

Godspeed
Tomasz Krzysztof Zieleniewski

Runtime exceptions with HttpServletRequestEvent class while running my SBB in wildfly-10.1.0.final environment

Has anyone encountered this runtime exception with HTTP Servlet RA class - HttpServletRequestEvent (NoClassDefFoundError and ClassNotFoundException)? I checked the Deployable Unit for the HTTP Servlet RA jar file (v7.2.0-194) and it contains the class for HttpServletRequestEvent and the HTTP Servlet RA has been deployed properly. Also, the HTTP servlet RA has been deployed without any issues. Is there anything specific that needs to be done prior to deploying the HTTP Servlet RA as I don't see any issue while compiling my SBB that references this interface - net/java/slee/resource/http/events/HttpServletRequestEvent?

23:09:35,930 INFO [org.mobicents.slee.container.component.deployment.PreferredPackagesBuilder] (MSC service thread 1-3) No preferred package entry found. Applying defaults.

23:09:35,963 ERROR [org.mobicents.slee.container.deployment.jboss.DeploymentManager] (MSC service thread 1-3) Failure invoking 'InstallDeployableUnitAction[file:/home/ashok.magadum/RestComm/wildfly-10.1.0.Final/standalone/tmp/vfs/temp/temp30acc506088bc42e/content-fc6a2593016918d/content/]: javax.slee.management.DeploymentException: Failure encountered during deploy process.

at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:340)

at org.mobicents.slee.container.deployment.jboss.action.InstallDeployableUnitAction.invoke(InstallDeployableUnitAction.java:41)

at org.mobicents.slee.container.deployment.jboss.DeploymentManager.sciAction(DeploymentManager.java:316)

at org.mobicents.slee.container.deployment.jboss.DeploymentManager.installDeployableUnit(DeploymentManager.java:181)

at org.mobicents.slee.container.deployment.jboss.SLEESubDeployer.start(SLEESubDeployer.java:278)

at org.mobicents.slee.container.deployment.jboss.SleeContainerDeployerImpl.start(SleeContainerDeployerImpl.java:264)

at org.restcomm.slee.container.build.as7.deployment.ExternalDeployerImpl.callSubDeployer(ExternalDeployerImpl.java:186)

at org.restcomm.slee.container.build.as7.deployment.ExternalDeployerImpl.deploy(ExternalDeployerImpl.java:136)

at org.restcomm.slee.container.build.as7.service.SleeContainerService.installInternalDeployments(SleeContainerService.java:407)

at org.restcomm.slee.container.build.as7.service.SleeContainerService.start(SleeContainerService.java:361)

at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)

at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

Caused by: javax.slee.management.DeploymentException: failed to validate SbbID[name=MobileLteCoreNetworkInterfaceSbb,vendor=org.xxxx,version=1.0]

at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:265)

at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:72)

at org.mobicents.slee.container.management.jmx.DeploymentMBeanImpl.install(DeploymentMBeanImpl.java:164)

... 14 more

Caused by: java.lang.NoClassDefFoundError: net/java/slee/resource/http/events/HttpServletRequestEvent

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)

at java.lang.Class.getDeclaredMethods(Class.java:1975)

at org.mobicents.slee.container.component.validator.ClassUtils.getAbstractMethodsFromClass(ClassUtils.java:178)

at org.mobicents.slee.container.component.validator.SbbComponentValidator.validate(SbbComponentValidator.java:139)

at org.mobicents.slee.container.component.SbbComponentImpl.validate(SbbComponentImpl.java:309)

at org.mobicents.slee.container.component.deployment.DeployableUnitBuilderImpl.build(DeployableUnitBuilderImpl.java:254)

... 16 more

Caused by: java.lang.ClassNotFoundException: net.java.slee.resource.http.events.HttpServletRequestEvent

at java.net.URLClassLoader.findClass(URLClassLoader.java:382)

at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClassLocallyLocked(URLClassLoaderDomainImpl.java:272)

at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.findClass(URLClassLoaderDomainImpl.java:241)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at org.mobicents.slee.container.component.deployment.classloading.URLClassLoaderDomainImpl.loadClass(URLClassLoaderDomainImpl.java:200)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 23 more

HttpClient generates conns leaks

Under certain (unknown yet) conditions the http client is leaking connctions resulting on sockets CLOSE_WAIT . The connection pool is consumed until no more traffic is handled

HttpClientResourceAdaptor stacks in eventUnreferenced

After receiving 200 OK to GET request when server keeps TCP connection open, thread stuck at line EntityUtils.consume(response.getEntity());

reading all events coming to this connection, but not firing events to SBB.

Is it possible to extend client adaptor in order to handle such scenarios.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.