Hello there! I noticed there's no way to define a service which accepts an InputStream and returns an InputStream as a result (in fact it is possible to start such service, but when a client calls the service - the XML error "Content is not allowed in prolog" raises somewhere inside transformer:
org.apache.tuscany.sca.databinding.TransformationException:
org.apache.tuscany.sca.databinding.TransformationException:
javax.xml.transform.TransformerException: org.xml.sax.SAXParseException:
Content is not allowed in prolog.
at
org.apache.tuscany.sca.databinding.xml.InputStream2Node.transform(InputStream2Node.java:48)
at
org.apache.tuscany.sca.databinding.xml.InputStream2Node.transform(InputStream2Node.java:37)
at
org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint$LazyPullTransformer.transform(DefaultTransformerExtensionPoint.java:199)
at
org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:73)
at
org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:148)
at
org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:43)
at
org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:73)
at
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:186)
at
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:76)
at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
at $Proxy8.handleImage(Unknown Source)
)
As a workaround I am passing and returning the arrays of bytes, however I
don't really like such approach. And I hope there's some way to provide custom
data binding for InputStream objects (stating them just a byte streams - not a
complex objects).
I am using WS-bindings, if that matters, and tuscany 1.2.
Could somebody please advice? May be using web services isn't a good idea to
pass and return a large BLOB for the service (image transformation in my
case)?
--
Eugene N Dzhurinsky
pgpriAmlsZPVR.pgp
Description: PGP signature
