StackOverflow ユーザーの皆様
現在、SOA プロジェクトに取り組んでいます。アプリケーション サーバーとして、JBoss ESB 4.11 をデプロイした JBoss 5.1 を使用しています。
クライアントから SOAP メッセージを受信し、SOAP メッセージとして応答を送信する Web サービスを実装しようとしています。
SOAP メッセージ リクエストがこの Web サービスによって受信されると、Smooks を使用してこのメッセージを Java オブジェクトに変換し、リクエストを処理できるようにします。
処理が完了したら、Smooks を使用して Java オブジェクトを XML (SOAP 応答) に変換したいと考えています。
Java から XML への変換に行き詰まっています。
ファイル内の私のアクション チェーンはjboss-esb.xml
次のようになります。
<services>
<service name="myWS" description="A Service" category="WS">
<listeners>
<jms-listener name="myListener" busidref="myChannel"/>
</listeners>
<actions mep="RequestResponse" inXsd="in.xsd" outXsd="out.xsd">
<!-- Transform incomming SOAP Message into JavaBean objects -->
<action name="xml2java-transform" class="org.jboss.soa.esb.smooks.SmooksAction">
<property name="smooksConfig" value="/smooks/smooks-config-soap2java.xml"/>
<property name="resultType" value="JAVA" />
</action>
<action name="processRequest" class="example.soa.ProcessRequest" process="process">
<property name="config" value="val"/>
</action>
<!-- Transform outgoing JavaBean objects into SOAP Message -->
<action name="java2xml-transform" class="org.jboss.soa.esb.smooks.SmooksAction">
<property name="smooksConfig" value="/smooks/smooks-config-java2soap.xml"/>
<property name="reportPath" value="/smooks/report.html"/>
<property name="resultType" value="STRING" />
</action>
</actions>
</service>
</services>
私smooksConfig
の 2 番目の SmooksAction は次のようになります。
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:ftl="http://www.milyn.org/xsd/smooks/freemarker-1.1.xsd"
xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd">
<core:filterSettings type="SAX" defaultSerialization="false"/>
<resource-config selector="example.JavaObjectMessage">
<resource>org.milyn.delivery.DomModelCreator</resource>
</resource-config>
<ftl:freemarker applyOnElement="example.JavaObjectMessage">
<!--<ftl:template>/freemarker/acknowledge.flt</ftl:template> -->
<ftl:template>
<!--
<sg:Message xmlns:sg="urn:http://example">
<sg:MessageType>${.vars[example.JavaObjectMessage].messageType}</sg:MessageType>
</sg:Message >
-->
</ftl:template>
</ftl:freemarker>
</smooks-resource-list>
processRequest
アクションが着信要求の処理を完了すると、クラスexample.JavaObjectMessage
が esb メッセージに添付されます。したがって、2 番目の SmooksAction はこのオブジェクトにアクセスできます。
私の質問は、「example.JavaObjectMessage」の属性にどのようにアクセスできますsmooksConfig
か? そしてapplyOnElement
、セクションで何を参照していflt:tamplate
ますか?
私はすでに Smooks User Guide を読み、JBoss Community にもこの質問を投稿しました。
どんな助けにも感謝します!
よろしく