私のアプリケーションクライアントはSOAPリクエストをMule ESBに送信するので、SOAPtoPOJOTransformerをESBに入れてコンポーネントクラスにPOJOオブジェクトを渡します。SOAPtoPOJotransformer in mule esb
このトランスのサンプルまたはコードスニペットを教えてください。
おかげで、 ナラヤナン
私のアプリケーションクライアントはSOAPリクエストをMule ESBに送信するので、SOAPtoPOJOTransformerをESBに入れてコンポーネントクラスにPOJOオブジェクトを渡します。SOAPtoPOJotransformer in mule esb
このトランスのサンプルまたはコードスニペットを教えてください。
おかげで、 ナラヤナン
CXF + JAXBはあなたのためにそれの世話をします。
を参照してください:私のアプリでhttp://www.mulesoft.org/documentation/display/MULE3USER/Building+Web+Services+with+CXF
は、私はちょうど私の流れにそれらを参照するように使用するために必要なすべての変圧器を宣言するXMLを持っています。下記参照。 (あなたがISO-8859-1を使用する必要がいけない)
<?xml version="1.0" encoding="UTF-8"?>
<mule
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mxml="http://www.mulesoft.org/schema/mule/xml"
xmlns:vm="http://www.mulesoft.org/schema/mule/vm"
xmlns:spring="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.2/mule.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/3.2/mule-xml.xsd
http://www.mulesoft.org/schema/mule/vm http://www.mulesoft.org/schema/mule/vm/3.1/mule-vm.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<mxml:jaxb-context
name="jaxb-context"
packageNames="my.package.v1:my.package.v2:soap.package" />
<mxml:jaxb-xml-to-object-transformer
name="xml-to-object"
encoding="ISO-8859-1"
jaxbContext-ref="jaxb-context"
ignoreBadInput="true" />
<mxml:jaxb-object-to-xml-transformer
name="object-to-xml"
encoding="ISO-8859-1"
jaxbContext-ref="jaxb-context"
returnClass="java.lang.String"
ignoreBadInput="true" />
<byte-array-to-string-transformer
name="byte-array-to-string"
encoding="ISO-8859-1"
returnClass="java.lang.String" />
<string-to-byte-array-transformer
name="string-to-byte-array"
encoding="ISO-8859-1"
returnClass="byte[]" />
<custom-transformer
name="xml-to-xml-stream-reader"
class="org.mule.module.xml.transformer.XmlToXMLStreamReader" />
<object-to-string-transformer name="object-to-string" />
<flow name="ByteArrayToObjectXml">
<vm:inbound-endpoint
path="myapp/conversor/byte-array-to-object-xml"
exchange-pattern="request-response" />
<transformer ref="byte-array-to-string" />
<transformer ref="xml-to-object" />
</flow>
はい、あなたは、javaにXMLを変換するためのデータ織り変換を記述する必要があります。私は例の流れを提供しています、あなたは同様の変換コードを書く必要があります。
<flow name="getDeltaFlightsFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/delta" allowedMethods="GET" doc:name="HTTP"/>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/xml
%namespace ns0 http://soap.training.mulesoft.com/
---
{
ns0#findFlight: {
destination: flowVars.code as :string
}
}]]></dw:set-payload>
</dw:transform-message>
<ws:consumer config-ref="Delta_Service_Consumer" operation="findFlight" doc:name="Delta SOAP Reqst"/>
<dw:transform-message metadata:id="fdbaa716-f263-4812-a153-6509b7407ee8" doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
%namespace ns0 http://soap.training.mulesoft.com/
---
{
flights: payload.ns0#findFlightResponse.*return map ((return , indexOfReturn) -> {
airlineName: return.airlineName,
price: return.price,
departureDate: return.departureDate,
planeType: return.planeType,
origin: return.origin,
code: return.code,
emptySeats: return.emptySeats,
destination: return.destination
})
}]]></dw:set-payload>
</dw:transform-message>
<logger level="INFO" doc:name="Logger"/>
</flow>
POJOは素晴らしいですね! – Mehrdad