whats best routing solution payload type routing based on javax.xml.bind.jaxbelement? here current configuration have.
<oxm:jaxb2-marshaller id="wsmarshaller" contextpath="com.test.conn.ws.domain"/> <int:channel id="jaxbinputchannel" /> <int-ws:inbound-gateway id="wsinboundmarsellinggateway" request-channel="jaxbinputchannel" marshaller="wsmarshaller" unmarshaller="wsmarshaller" /> <int:service-activator input-channel="jaxbinputchannel"> <bean class="com.test.conn.application.aimpl" />
<int:service-activator input-channel="jaxbinputchannel"> <bean class="com.test.conn.application.bimpl" />
the payload types received in aimpl , bimpl javax.xml.bind.jaxbelement , javax.xml.bind.jaxbelement. when use soapui invoke b request, invokes aimpl. more service activators there (for different payload types), more confusion there on service activator invoke.
so decided resolve adding payloadtyperouter, question comes on how define type javax.xml.bind.jaxbelement, javax.xml.bind.jaxbelement etc.
i'm hoping there's easy solution using spel (or straight forward way) rather adding transformer in front hold of request getvalue.. advise immensely.
thanks.
as mentioned in earlier post went ahead payloadtyperouter, transformer implementation. there hit road block.
<int:transformer input-channel="jaxbinputchannel" output-channel="jaxbroutingchannel" > <bean class="com.test.conn.transformer.conntransformer" /> </int:transformer> <int:payload-type-router input-channel="jaxbroutingchannel" > <int:mapping type="com.test.conn.ws.domain.a" channel="ainputchannel" /> <int:mapping type="com.test.conn.ws.domain.b" channel="binputchannel" /> </int:payload-type-router>
here error message get.
caused by: org.springframework.expression.spel.spelevaluationexception: el1004e:(pos 8): method call: method test(com.test.conn.ws.domain.a) cannot found on com.sun.proxy.$proxy40 type
i'm puzzled. why spring looking @ service activator method in com.test.conn.ws.domain.a instance?
Comments
Post a Comment