Hi Richard,
Can't you use Dispatch interface? Sth like below shall allow you to skip
unnecessary JAXB marshalling ( code snippet from CXF dispatch_provider sample)
QName serviceName3 = new
QName("http://apache.org/hello_world_soap_http", "SOAPService3");
QName portName3 = new QName("http://apache.org/hello_world_soap_http",
"SoapPort3");
SOAPService3 service3 = new SOAPService3(wsdlURL, serviceName3);
DOMSource domReqPayload = new DOMSource(..................);
Dispatch<DOMSource> dispDOMSrcPayload =
service3.createDispatch(portName3,
DOMSource.class, Mode.PAYLOAD);
DOMSource domRespPayload = dispDOMSrcPayload.invoke(domReqPayload);
Cheers,
Jervis
> -----Original Message-----
> From: Shaw, Richard A [mailto:[EMAIL PROTECTED]
> Sent: 2007?6?1? 23:33
> To: [email protected]
> Subject: Skipping some layers in the interceptor chain
>
>
> I have the following requirement and was wondering whether
> anybody could tell me if it is possible -
>
> 1 - I have an XML string which represents the logical message
> for a request
> 2 - I want to use this to make a request on an appropriate service
> 3 - I want to catch the reply at the XML level without
> creating a java object
> 4 - transform the reply using a XSL stylesheet to be the
> logical message of another service
> 5 - send the logical message to the final service
>
> This is for a generic data fetch. It requests data from a SOA
> component, transforms the data into a set message, which is
> sent to my datastore component. I don't want to write a new
> component for every type of data source that I want to fetch
> data from.
>
> I have implemented the above using the original Celtix code,
> but it has the following inefficiencies -
>
> 1 - I load the XML from my config. unmarshal it into an
> object and then use that to call my service which will
> marshal as its first step
> 3 - the response is unmarshalled into a java object so I then
> marshal it back to an XML stream to pass to the XSLT transformer
> 5 - I unmarshal the transformed XML into a java object and
> use that to call my data storage service
>
> Thanks
>
> Richard Shaw
>
> ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø¤º°`°º¤
> ø,¸¸,ø¤
>
> Richard Shaw
> Technical Design Authority - Information Solutions Consultancy
> Intelligent Transport Systems
>
> Atkins Highways and Transportation
> Woodcote Grove, Ashley Road, Epsom, Surrey, KT18 5BW
>
> Tel: +44 (0) 1372 756407
> Fax: +44 (0) 1372 740055
> Mob: 07740 817586
> E-mail: [EMAIL PROTECTED]
>
> www.atkinsglobal.com/its
>
>
>
> This email and any attached files are confidential and
> copyright protected. If you are not the addressee, any
> dissemination of this communication is strictly prohibited.
> Unless otherwise expressly agreed in writing, nothing stated
> in this communication shall be legally binding.
>
> The ultimate parent company of the Atkins Group is WS Atkins
> plc. Registered in England No. 1885586. Registered Office
> Woodcote Grove, Ashley Road, Epsom, Surrey KT18 5BW.
>
> Consider the environment. Please don't print this e-mail
> unless you really need to.
>