[英]deploying and running embedded mule in webapp (Mule twitter integration)
嗨,我是M子的新宝宝! 我想运行这个简单的应用程序(接收来自url的输入并使用twitter连接器将其发布到我的twitter帐户中)。 我首先尝试将其部署在CloudHub上,并且可以正常运行http://twitterconnector.cloudhub.io/addtweet?mymessage=firsttweet之后,我想尝试在Tomcat上进行部署,因此我使用maven创建了简单的webapp,并将对Mule的所有必需依赖项放入pom .xml,设置web.xml和mule-config.xml文件,当我转到localhost:8181 / easymule-test / services / addtweet?mymessage = firsttweet时,它不起作用!
有人可以帮忙/解释什么问题吗? 比你提前! 流程如下:
<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>
编辑: web.xml配置片段
<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>
Servlet端点路径是路径而不是地址,因此请使用:
<servlet:inbound-endpoint path="sendtweet" ...
假设:
/easymule-test
上下文中, 8181
上运行 org.mule.transport.servlet.MuleReceiverServlet
绑定到services
路径 然后您将通过http://localhost:8181/easymule-test/services/sendtweet
访问上述端点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.