0

apache camel を使用して、Spring MVC ベースの Web アプリケーションからメールを送信しようとしています。しかし、設定が間違っていると思われるため、Tomcat が起動しません。

手伝ってくれませんか?

**camel-config.xml**

    <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:camel="http://camel.apache.org/schema/spring"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
                                http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

            <camelContext xmlns="http://camel.apache.org/schema/spring">
               <contextScan>com.aaa.bbb.ccc.service</contextScan>
            </camelContext>
        </beans>


@Service
public class NotificationService 
{
    @Produce(uri = "smtp://mysmtp.company.com")
    private ProducerTemplate template;

    public void send(String from,String to,String cc,String bcc,String subject,String body) 
    {
         template.sendBodyAndHeaders(body,Requirement_Specific_Code);
    }
}

Spring Jar: version 3.1.0
Camel: camel-core-2.10.3.jar 
       camel-mail-2.10.3.jar 
       camel-mina-2.10.3.jar 
       camel-spring-2.10.3.jar

**:Issue:** Once i run tomcat i am having below error.

 2013-05-21 19:08:05,581 ERROR org.springframework.web.context.ContextLoader  - Context initialization failed 
 org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [camel-config.xml]
Offending resource: ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML document from ServletContext resource [/WEB-INF/camel-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://camel.apache.org/schema/spring/camel-spring.xsd; lineNumber: 2; columnNumber: 225; TargetNamespace.1: Expecting namespace 'http://camel.apache.org/schema/spring', but the target namespace of the schema document is 'http://activemq.apache.org/camel/schema/spring'.
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)

どこが間違っているのかわかりません。

誰でも私を助けてもらえますか?

4

2 に答える 2

0

1 つずつ見つけて、その順序で解決する多くの問題がありました。ただし、他の人の助けのために、私はブリードで結論付けています。

問題/解決策: 1) camel-config.xml をデプロイしていない Ant ターゲットに競合がありました。質問で xml を提供することはほとんど正しくありません。正解は以下の通り。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:camel="http://camel.apache.org/schema/spring"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
                        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring-2.10.3.xsd">
    <camelContext xmlns="http://camel.apache.org/schema/spring">
       <contextScan/>
    </camelContext>
</beans>

2) jar を修正 (追加/更新/削除) したものは次のとおりです。

  • キャメルコア-2.11.0
  • キャメルメール-2.11.0
  • ラクダ-ミナ-2.11.0
  • キャメル春-2.11.0
  • ミナコア-1.1.7
  • メール-1.4.5
  • ミナコア-2.0.0-M3
  • slf4j-api-1.7.5
  • slf4j-log4j12-1.7.5

jar が上記のとおりでない場合、次のようなエラーが発生する可能性があります。

  • org.apache.mina.core.buffer.IOBuffer クラスが利用できない (mina-core-2.0.0-M3)
  • ByteArray クラスは使用できません。
  • SMTP を自動作成できません。

ご支援いただきありがとうございます。今後、この情報が誰かの役に立つことを願っています。

于 2013-05-22T06:10:33.757 に答える
0

あなたcamel-contex.xmlはそれを投稿したように見えますか?エラーは言う:

Expecting namespace 'http://camel.apache.org/schema/spring', but the target namespace of the schema document is 'http://activemq.apache.org/camel/schema/spring'

したがって、どこかで間違った XML 名前空間を使用していますhttp://activemq.apache.org/camel/schema/spring。どこ?

于 2013-05-21T14:56:45.457 に答える