2016-10-14 16 views
0

私は自分のプロジェクトでバネ統合を使用しています。前後にペイロードに<response></response>を文字列として追加したいと思います。私はこのためにint:transformerを使用しています。次は、コードの一部です:int:トランスフォーメーション式エラー - 要素タイプ "null"に関連付けられた属性 "expression"の値に '<'文字を含めることはできません

<int:transformer expression="'<response>' + payload + '</response>'"/> 

しかし、私は上記の式を使用する場合、私は次の例外になっています:誰が私のexpressionが私のタスクを達成するためにどうあるべきかを教えてもらえます

Caused by: org.xml.sax.SAXParseException: The value of attribute "expression" associated with an element type "null" must not contain the '<' character. 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388) 
    ... 58 more 

を?このよう

答えて

2

<int:transformer expression="'&lt;response>' + payload + '&lt;/response>'"/> 

あなたがXMLでXMLリテラル文字列を定義するので、あなたはそれ自体がXML言語を表し、これらの記号をエスケープする必要があります。

+0

これは完璧です。説明のために+1です。 –

関連する問題