2012-08-16 57 views
0

在我的mule應用程序中,我用Servlet入站端點替換了HTTP入站端點,因此我可以在JBoss上部署mule應用程序。現在,當JBoss啓動時,我收到以下錯誤消息:Mule ESB - 小服務程序:入站端點錯誤

2012-08-16 12:13:00,416 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/oms]] (main) 
Line 27 in XML document from request_flows.xml is invalid; 
nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 
Invalid content was found starting with element 'servlet:inbound-endpoint'. 
One of '{"http://www.mulesoft.org/schema/mule/core":annotations, 
"http://www.mulesoft.org/schema/mule/core":description, 
"http://www.mulesoft.org/schema/mule/core":abstract-message-source, 
"http://www.mulesoft.org/schema/mule/core":abstract-inbound-endpoint, 
"http://www.mulesoft.org/schema/mule/core":abstract-message-processor, 
"http://www.mulesoft.org/schema/mule/core":abstract-outbound-endpoint, 
"http://www.mulesoft.org/schema/mule/core":response}' 
is expected. (org.mule.api.lifecycle.InitialisationException) 
org.mule.api.config.ConfigurationException: Line 27 in XML document from request_flows.xml is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'servlet:inbound-endpoint'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":description, "http://www.mulesoft.org/schema/mule/core":abstract-message-source, "http://www.mulesoft.org/schema/mule/core":abstract-inbound-endpoint, "http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-outbound-endpoint, "http://www.mulesoft.org/schema/mule/core":response}' is expected. 


    <flow name="ParcelRequestFlow" doc:name="ParcelRequestFlow"> 
    <servlet:inbound-endpoint path="http://localhost:80/parcel" responseTimeout="10000" doc:name="Parcel Servlet"/> 
    <http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/> 
    <transformer ref="RequestParametersValidator1" doc:name="Validator"/> 
    <jdbc:outbound-endpoint exchange-pattern="request-response" queryKey="messageSelectCountMessageId" responseTimeout="10000" mimeType="text/plain" queryTimeout="-1" connector-ref="jdbcConnector" doc:name="Verify MessageId"/> 
    <transformer ref="MessageIdValidator" doc:name="MessageId Validator"/> 
    <transformer ref="parcelPayloadTransformer" doc:name="Parcel Payload Transformer"/> 
    <message-properties-transformer scope="session" doc:name="Add PAYLOAD_OBJECT header"> 
     <add-message-property key="payload_object" value="#[payload]"/> 
     <add-message-property key="payload_id" value="#[bean:parcelDetails.UPID]"/> 
    </message-properties-transformer> 
    <transformer ref="ParcelBeanValidator" doc:name="ParcelBeanValidator"/> 
    <transformer ref="MessagePropertyTransformer" doc:name="Message Property Transformer"/> 
    <jdbc:outbound-endpoint exchange-pattern="request-response" queryKey="parcelInsert" responseTimeout="10000" mimeType="text/plain" queryTimeout="-1" connector-ref="jdbcConnector" doc:name="Create DB Message Parcel"/> 
    <vm:outbound-endpoint exchange-pattern="one-way" path="insurance.queue" responseTimeout="10000" connector-ref="queue.vm.connector" mimeType="text/plain" doc:name="Insurance Queue"/> 
    <transformer ref="MessagePropertyTransformer" doc:name="Message Property Transformer"/> 
    <vm:outbound-endpoint exchange-pattern="one-way" path="parcel.queue" responseTimeout="10000" connector-ref="queue.vm.connector" mimeType="text/plain" doc:name="Parcel Queue"/> 
    <transformer ref="HttpResponseSucCessTransformer" doc:name="Return SUCCESS" /> 
    <custom-exception-strategy class="com.pb.oms.mule.exception.HttpRequestExceptionStrategy"></custom-exception-strategy> 
</flow> 

謝謝。

回答

1

一定要聲明servlet命名空間:

xmlns:servlet="http://www.mulesoft.org/schema/mule/servlet" 

... 

http://www.mulesoft.org/schema/mule/servlet http://www.mulesoft.org/schema/mule/servlet/current/mule-servlet.xsd 

,並在你的類路徑中的Servlet運輸JAR。

+0

謝謝。 現在我有LinkageError: 2012-08-19 00:04:20,304錯誤[org.apache.catalina.core.ContainerBase。[jboss.web]。[localhost]。[/ oms]](main)Error在default-mule-config.xml中創建名爲'_muleSimpleRegistryBootstrap'的bean:調用init方法失敗;嵌套異常是org.mule.api.lifecycle.InitialisationException:java.lang.LinkageError:加載器約束衝突:當解析字段「STRING」時,引用的類加載器(org/jboss/classloader/spi/base/BaseClassLoader的實例)類,javax/xml/xpath/XPathConstants和類加載器(< – 2012-08-19 04:30:27

+0

的實例)看起來像一個典型的JBoss類加載泥潭,你必須非常小心你構建的WAR,並且不包含任何由JBoss提供的JAR。 – 2012-08-20 16:38:42