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

Attachment: pgpriAmlsZPVR.pgp
Description: PGP signature

Reply via email to