IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Unable to extract XLS file from Email Attachment

  • 1.  Unable to extract XLS file from Email Attachment

    Posted Thu September 30, 2010 05:49 AM

    Hi,

    I am unable to extract excel file i.e., XLS file from e-mail as an attachment. I had gone through several posts but couldn’t get exact solution. I had configured the e-mail Listener in IS and created 1 flow service which will be invoked by listener. The following is the Pseudo code and I am convert the received data to XLS file in File system. I am able to get the file name of the attachment but failing to write the xls file to file system.

    Note: there are no input or output declared for this service.

    1. pub.flow:getTransportInfo
    2. pub.mime:createMimeData (Input: //transport/email/content - from step1)
    3. pub.mime:getNumParts
    4. pub.mime:getBodyPartContent (input: mimeData from step 2)
      Output: content object
    5. pub.file:streamToFile (Input : filename, stream(from step4 output))

    The following is the error message I am getting. I tried all possibilities of converting the content from Step 4 to bytes and bytes to file and still it is failing.

    Could you let me know to resolve this issue.

    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 0 fileName {java.lang.String} = ‘ErrorLog’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 0 contentStream {java.io.ByteArrayInputStream} = ‘java.io.ByteArrayInputStream@414c4426’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 0 lastError {com.wm.data.ISMemDataImpl} =>
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 error {java.lang.String} = ‘[ISS.0086.9250] Parameter [stream] is not of type: [InputStream]’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 errorType {java.lang.String} = ‘com.wm.app.b2b.server.ServiceException’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 errorDump {java.lang.String} = 'com.wm.app.b2b.server.ServiceException: [ISS.0086.9250] Parameter [stream] is not of type: [InputStream]
    at pub.CommonUtils.getRequiredObjParam(CommonUtils.java:92)
    at pub.file.streamToFile(file.java:793)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:439)
    at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:635)
    at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:46)
    at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
    at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:238)
    at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
    at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
    at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:272)
    at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
    at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:390)
    at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:539)
    at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
    at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:189)
    at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
    at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:584)
    at com.wm.lang.flow.FlowState.step(FlowState.java:444)
    at com.wm.lang.flow.FlowState.invoke(FlowState.java:409)
    at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:1057)
    at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:635)
    at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:46)
    at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
    at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:238)
    at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:51)
    at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171)
    at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:272)
    at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:30)
    at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:390)
    at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:539)
    at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:384)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:234)
    at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:109)
    at wm.server.net.EmailTransaction$RunService.write(EmailTransaction.java:1342)
    at wm.server.net.EmailTransaction$RunService.run(EmailTransaction.java:1187)
    at com.wm.util.pool.PooledThread.run(PooledThread.java:131)
    at java.lang.Thread.run(Thread.java:619)

    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 service {java.lang.String} = ‘pub.file:streamToFile’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 user {java.lang.String} = ‘Administrator’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 time {java.lang.String} = ‘2010/09/29 21:47:46.183’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 1 callStack[0] {[Lcom.wm.data.IData;} =>
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 2 service {java.lang.String} = ‘pub.file:streamToFile’
    2010-09-29 21:47:46 CDT [ISP.0090.0008C] 2 flowStep {java.lang.String} = ‘’


    #Integration-Server-and-ESB
    #webMethods
    #webmethods-Protocol-and-Transport


  • 2.  RE: Unable to extract XLS file from Email Attachment

    Posted Tue November 09, 2010 08:36 AM

    Hi Pradeep Kumar,

    The content of any attached file will be coming in the content variable as inputStream. You could just write this to a file on ur file system using hte same service.


    #webmethods-Protocol-and-Transport
    #webMethods
    #Integration-Server-and-ESB