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 にもこの質問を投稿しました。
どんな助けにも感謝します!
よろしく