0

WSO2 ESB を使用して FTP ベースの統合を行おうとしています。VFS トランスポートを使用して、ある FTP ロケーションから別の FTP ロケーションにファイルを転送できます。しかし、WSO2 ESB は転送中のファイル内の SOAP エンベロープを想定しています。

このロジックは、画像を転送する場合には適していません。

VFS トランスポートを使用して、SOAP 以外のエンベロープで画像/ファイルを転送する方法は?

SOAP エンベロープなしでファイルを転送すると、以下のエラーが発生します。

    [2013-06-07 14:01:31,314] ERROR - VFSTransportListener Error processing File URI
 : ftp://isova1:admin@10.208.29.144/isova.png
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8
 start byte 0x89 (at char #1, byte #-1)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.jav
a:296)
        at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelo
pe(StAXSOAPModelBuilder.java:204)
        at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSO
APModelBuilder.java:154)
        at org.apache.axiom.om.impl.AbstractOMMetaFactory.createStAXSOAPModelBui
lder(AbstractOMMetaFactory.java:73)
        at org.apache.axiom.om.impl.AbstractOMMetaFactory.createSOAPModelBuilder
(AbstractOMMetaFactory.java:79)
        at org.apache.axiom.om.OMXMLBuilderFactory.createSOAPModelBuilder(OMXMLB
uilderFactory.java:196)
        at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java
:55)
        at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFS
TransportListener.java:558)
        at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirec
tory(VFSTransportListener.java:312)
        at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTranspo
rtListener.java:158)
        at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTranspo
rtListener.java:107)
        at org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.
run(AbstractPollingTransportListener.java:67)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(Native
WorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:918)
        at java.lang.Thread.run(Thread.java:662)
Caused by: com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 start byte 0x89 (at c
har #1, byte #-1)
        at com.ctc.wstx.sr.StreamScanner.constructFromIOE(StreamScanner.java:625
)
        at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:994)
        at com.ctc.wstx.sr.StreamScanner.getNext(StreamScanner.java:754)
        at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.ja
va:1977)
        at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1114)
        at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStr
eamReaderWrapper.java:225)
        at org.apache.axiom.util.stax.dialect.DisallowDoctypeDeclStreamReaderWra
pper.next(DisallowDoctypeDeclStreamReaderWrapper.java:34)
        at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStr
eamReaderWrapper.java:225)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuild
er.java:681)
        at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.jav
a:214)
        ... 15 more
Caused by: java.io.CharConversionException: Invalid UTF-8 start byte 0x89 (at ch
ar #1, byte #-1)
        at com.ctc.wstx.io.UTF8Reader.reportInvalidInitial(UTF8Reader.java:303)
        at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:189)
        at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:87)
        at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.
java:57)
        at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:988)
        ... 23 more

よろしく教祖 @gnanagurus

4

1 に答える 1