Hi I am newbaby to Mule!!
I want to run this simple app (receives input from url and post to my twitter account using twitter connector).
I try first deploying it on CloudHub and it works http://twitterconnector.cloudhub.io/addtweet?mymessage=firsttweet
after that I wanted to try deploying on Tomcat so I created simple webapp using maven and put all required dependences for Mule in pom.xml, set web.xml and mule-config.xml files and when I go to localhost:8181/easymule-test/services/addtweet?mymessage=firsttweet it is not working!
Can someone pls help/explain what is the problem?
than you in advance!!
Here is the flow:
<flow name="twitterconnectorFlow1" doc:name="twitterconnectorFlow1">
<servlet:inbound-endpoint path="addtweet" responseTimeout="10000" doc:name="Servlet"/>
<twitter:update-status config-ref="test_ECAccount" status="#[header:INBOUND:mymessage]" doc:name="Twitter Connector"/>
<expression-transformer evaluator = "groovy" expression="payload.toString()" returnSourceIfNull="true" doc:name="Expression"/>
</flow>
Edit: web.xml configuration fragment
<web-app>
<display-name>easymule-test</display-name>
<context-param>
<param-name>org.mule.config</param-name>
<param-value>/WEB-INF/muleconfig.xml</param-value>
</context-param>
<listener>
<listener-class>org.mule.config.builders.MuleXmlBuilderContextListener</listener-class>
</listener>
<servlet>
<servlet-name>ajax</servlet-name>
<servlet-class>org.mule.transport.ajax.container.MuleAjaxServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>muleServlet</servlet-name>
<servlet-class>org.mule.transport.servlet.MuleReceiverServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>muleResources</servlet-name>
<servlet-class>org.mule.transport.ajax.MuleJarResourcesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>muleServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>muleResources</servlet-name>
<url-pattern>/mule-resource/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ajax</servlet-name>
<url-pattern>/ajax/*</url-pattern>
</servlet-mapping>
</web-app>
A servlet endpoint path is a path not an address, so use:
<servlet:inbound-endpoint path="sendtweet" ...
Assuming:
your web-app is deployed on the /easymule-test context,
and is running on port 8181
and the org.mule.transport.servlet.MuleReceiverServlet is bound to the services path
then you'll access the above endpoint at http://localhost:8181/easymule-test/services/sendtweet.
Related
me using tomcat 8, java 7 myeclipse 2014 and project nature is dynamic webmodule 3.1 with maven support
in my web.xml im using
javax.faces.PROJECT_STAGE Development
javax.faces.FACELETS_REFRESH_PERIOD 1
and my autodeploymnet option is on
still im unable to get results like im changing my xhtml page or method body its not deployed auto. everytime i need to restart my server.
here is my web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Setting up application context used for spring configuration -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>none</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<!-- welcome file for Application -->
<welcome-file-list>
<welcome-file>workflow</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param> <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
<param-value>1</param-value>
</context-param>
everything was fine except the corrupted workspace, i changed to new workspace and everything works fine.
This the file web.xml in WEB-INF
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>glpi.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/index.jsp</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>/login.jsp</welcome-file>
</welcome-file-list>
</web-app>
I think you are missing the context loader listener(to pick your spring context file(s)).
Add this to your web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
You could also check out the Initial web configuration section # http://static.springsource.org/spring/docs/2.0.x/reference/beans.html
You have both ContextLoaderServlet and DispatcherServlet set to load-on-startup = 1. That means either one of them could start first, and you need the ContextLoaderServlet to start first, since that's what creates the root WebApplicationContext that your error says is missing. So leave ContextLoaderServlet's load-on-startup at 1, and change the DispatcherServlet's to 2 or higher.
Actually, it's preferred to use ContextLoaderListener instead of the Servlet unless you're on a really old container where the Listener doesn't work properly.
Add following code in web.xml file, bcs it looks for contex to load so we have to declare it initially.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/HelloWeb-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
I've recently stumbled upon the same issue, and I knew for sure it couldn't be caused by misconfiguration because I've copied the entire working Tomcat installation from another machine. Yet I kept getting the same exception:
java.lang.IllegalStateException: No WebApplicationContext found: not in a DispatcherServlet request and no ContextLoaderListener registered?
As I've eventually figured out, it was a wrong JVM version that broke the application: this one used Java 7, whereas the working instance (and the webapp) was on Java 8.
Hope it helps someone struggling with this counter-intuitive error message.
i'm facing an error while trying to run my application, here is the error:
OK - Undeployed application at context path /gest_project In-place
deployment at C:\Users......\target\gest_project Deployment is in
progress...
deploy?config=file%3A%2FC%3A%2FUsers%2Fnadya%2FAppData%2FLocal%2FTemp%2Fcontext1123098247565520222.xml&path=/gest_project
FAIL - Deployed application at context path /gest_project but context
failed to start The module has not been deployed. at
org.netbeans.modules.j2ee.deployment.devmodules.api.Deployment.deploy(Deployment.java:187)
at
org.netbeans.modules.maven.j2ee.ExecutionChecker.performDeploy(ExecutionChecker.java:167)
at
org.netbeans.modules.maven.j2ee.ExecutionChecker.executionResult(ExecutionChecker.java:123)
at
org.netbeans.modules.maven.execute.MavenCommandLineExecutor.run(MavenCommandLineExecutor.java:208)
at
org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:154)
on tomcat log i have this:
GRAVE: Error listenerStart 11 sept. 2011 23:37:04
org.apache.catalina.core.StandardContext startInternal GRAVE:Error
Starting context [/ gest_project] following previous errors
here is my web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!--Upload Filters-->
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<!--End Upload Filters-->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- Theme Aristo -->
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>start</param-value>
</context-param>
<!-- FIN -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/admin-direction.xhtml</welcome-file>
</welcome-file-list>
<!-- Add Support for Spring -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-context.xml</param-value>
</context-param>
<!-- JSF mapping -->
<!-- Map these files with JSF -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
</web-app>
thanks a lot
(Not an answer)
Your errors are pretty generic and could be caused by lots of different problems in many other places apart from your web.xml. (The application-context, missing libraries, etc...)
You'll have to dig deeper (other files or look below in the same files) to find an error with more relevant information.
Try to find whether your application is up and running without any errors when you start the server. With that you eliminate any server configuration and dependency issues.
To do that:
1) Stop your tomcat server. Clean/Backup all log files.
2) If 'manager' app is not enabled, then try to enable it.
3) Start the tomcat server. Observe the start up logs for any errors.
4) If every thing is fine in the logs, then go to app manager 'http://localhost:8080/manager/'
to check whether your app is up and running (started) mode.
5) Now try to access the page or URL.
with this you could pin point the possible areas of error.
Problem could be also caused by lack of permissions. In my case I gave permissions (to everyone full access, because I'm not sure to who exactly give them) to folder containing Tomcat. This solved my problem.
I am using Apache Server 6.0 and I am trying to update a file using ajax put request but the server is giving me error 405 Method Not Allowed. I am working this out on windows.
Can anybody help me out if that.
Thanks in Advance.
Vinay
I'm assuming you are using apache tomcat (because you have mentioned version 6.0)
In that case add this to your webapp's web.xml:
<servlet>
<servlet-name>myDefault</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value> <!-- this will enable PUT for your app -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myDefault</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Then you can test this like so, to upload the file (You need the curl program to test)
curl -T somefile.txt http://localhot:8080/<yourapp>/
If you want to enable this globally, you can make the same change in /conf/web.xml (for default servlet)
I am trying to deploy a Spring application on WAS 6.0 (JDK 1.4.2). Day back I was getting tons of (Unsupported major.minor version 49.0) errors. I replaced most of the jar files and now I am left with only one error on:
org/springframework/orm/jpa/support/OpenEntityManagerInViewFilter (Unsupported major.minor version 49.0)
what jar file do I need to replace for this? Also when I am running my URL in the browser I am getting the error:
Error 500: Filter [Spring OpenEntityManagerInViewFilter]: could not be loaded
Can you please guide me ,where exactly I am doing wrong. Attached is my Web.xml.
Your help is highly appreciated.
enter code here
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
analytics
Roo generated analytics application
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>analytics.root</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<context-param>
log4jConfigLocation
classpath:log4j.properties
org.springframework.web.util.Log4jConfigListener
org.springframework.web.context.ContextLoaderListener
<servlet>
<servlet-name>analytics</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Serves static resource content from .jar files such as spring-js.jar -->
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>analytics</servlet-name>
<url-pattern>/*.html</url-pattern>
</servlet-mapping>
<!-- Map all /resources requests to the Resource Servlet for handling -->
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<servlet-name>analytics</servlet-name>
</filter-mapping>
<filter>
<filter-name>Spring OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
Spring OpenEntityManagerInViewFilter
/*
<session-config>
<session-timeout>10</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/jsp/uncaughtException.jsp</location>
</error-page>
The "Unsupported major.minor version" errors are caused by your using JAR files compiled for a higher version of java than you're running.
I think class file version 49.0 is Java 5, and you're running 1.4. That means you must be using a library that's Java 5 only, and the only version of Spring thats java 5 only is Spring 3.0. If that's the case, then downgrade your Spring to 2.5.6.