1

私は JAX-RS Webservice を書いています。application/xml の形式で応答を返します。つまり、 CDATA セクションを生成する必要があります。私はたくさんの調査を行い、多くのブログを見てきました。しかし、私はまだそうすることができません。私は次のアプローチを試しました:

1) ここに記載されているように、独自の Jaxb2Marshaller を作成します: http://www.coderanch.com/t/584332/Web-Services/java/Spring-WS-JAXB-CDATA。そして、私は以下のように構成しました:

<bean id="marshaller" class="com.test.CdataJaxb2Marshaller">
<property name="classesToBeBound">
    <list>
 <value>com.test.MyModel</value>
    </list>
</property>
<property name="cdataElements">
    <list>
        <value>Data</value>
    </list>
</property>
</bean> 

しかし、私は CdataJaxb2Marshaller のマーシャル メソッドで呼び出しを受けていません。マーシャラーを内または他の場所で構成したのではないかと思っています。誰かが提案できますか。

2) 私が試した 2 番目のアプローチは、次のとおりです。しかし、次のように構成しようとした内部で CdataWriterInterceptor を構成する方法については説明しません。

3)私が試した3番目のアプローチは2番目のアプローチと非常に似ていますが、インターセプターの代わりにプロバイダーを構成したという違いがあります。

http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XmlStreamWriterProvider.java

eclipse link Moxy のようなサードパーティのものを使用したくありません。残念ながら、JAXB は CDATA セクションをネイティブにサポートしていません。誰かがこの問題に対する答えを持っていれば、それは大きな助けになるでしょう。

ありがとう、アマン。

4

0 に答える 0