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

how to covert streamTobyte?

  • 1.  how to covert streamTobyte?

    Posted Mon February 01, 2010 06:12 PM

    Hi All,

    Need quick resolution

    i am using FTP port to invoke by service.i have created FTP port.
    but when i am putting file in /ns/directory by logging into FTP server
    & placed file in ns directory as xyz.dat

    1. Set a flow input variable named ffdata.
      2 use pub.io:streamToBytes
      map ffdata to stream bytes to xyzbyte variable
      but while debugging i am getting class cast exception

    i don’t know why this exception is coming … any help appreciated

    RJ


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


  • 2.  RE: how to covert streamTobyte?

    Posted Mon February 01, 2010 08:04 PM

    Are you setting the content-type when doing the FTP put? Refer to the Flat File Schema Developer’s Guide for additional info.


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


  • 3.  RE: how to covert streamTobyte?

    Posted Tue February 02, 2010 06:26 AM

    Hi Rob,

    I have create FTP port to invoke that service.
    just doing this steps to placed in directory.Once file is placed it will invoke my service.

    ftp> open ebzwisd1.eadv.na.jnj.com 7802
    Connected to ebzwisd1.eadv.na.jnj.com.
    220 ebzwisd1.eadv.na.jnj.com:7802 FTP server (webMethods Integration Server version 7.1.2.0) ready.
    User (ebzwisd1.eadv.na.jnj.com:(none)): xyz
    331 Password required for LYNX_AccessFTP.
    Password:
    230 User xyz logged in.
    ftp> cd /ns/PU009_LYNX_JHJL_Inb_v1/JHJL_Inbound/DPYCHESS_Inbound
    250 CWD command successful.
    ftp> put gltrans.dat

    So input of my service is ffdata

    First step of my service is pub.io.stremtobytes
    but once ffdata come in service & after executing tht streamtobyte step
    it sudden went to catch block.
    input is node =com.wm.lang.xml.Node:-1:217918892
    Error message= java.lang.ClassCastException
    java.lang.ClassCastException: com.wm.data.ISMemDataImpl
    at pub.io.streamToBytes(io.java:77)
    at sun.reflect.GeneratedMethodAccessor752.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:403)
    at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:631)
    at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:40)

    shall i missing anything

    RJ


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


  • 4.  RE: how to covert streamTobyte?

    Posted Tue February 02, 2010 04:46 PM

    I believe you have a xml node (input is node =com.wm.lang.xml.Node:-1:217918892) representation in the pipeline instead of having stream object.So make sure you have the stream/ffdata (stream representation) to make streamToBytes service work.

    HTH,
    RMg


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


  • 5.  RE: how to covert streamTobyte?

    Posted Tue February 02, 2010 08:29 PM

    What is present in the pipeline when the service is invoked depends upon the content type. If the polling port does not specify a content type value, then the filename extension MIME mapping will be used. I do not know what .dat would map to.

    If you haven’t done so, please read the Flat File Schema Developer’s Guide.

    Putting the file work directories within the IS package structure, which it appears you are doing with the /ns/… path, is not a good idea. The work directories should be at least be outside of the IS directory tree and ideally on their own volume.


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


  • 6.  RE: how to covert streamTobyte?

    Posted Tue March 09, 2010 02:17 PM

    Hi Rob & RMG,

    This Issue still not resolve.
    Basically my source team using some scripts to placed file in ftp directory start with /ns/…/… as follows is scripts wch is not working & getting error
    550 ÝISS.0071.9014¨ Server Error: com.wm.data.ISMemDataImpl

    EZA1736I PUT ‘SXK1.P0.ZKE381.ZKF80A.G3990V00’ SXK381_990 (file name=SXK381_990 )
    EZA1701I >>> PORT 10,4,101,139,12,158
    200 PORT command successful.
    EZA1701I >>> STOR SXK381_990
    150 ASCII mode data connection for SXK381_990 (10.4.101.139,3230).
    550 ÝISS.0071.9014¨ Server Error: com.wm.data.ISMemDataImpl (error)
    EZA1735I Std Return Code = 27550, Error Code = 00002
    EZA1701I >>> QUIT
    221 Goodbye


    but if i simple change scripts & added file extension to above scripts then it work fine don’t know why …?

    EZA1736I PUT ‘SXK1.P0.ZKE381.ZKF80A.G3990V00’ SXK381_990.TXT (file name=SXK381_990.TXT )
    EZA1701I >>> PORT 10,4,101,139,12,158
    200 PORT command successful.
    EZA1701I >>> STOR SXK381_990
    150 ASCII mode data connection for SXK381_990 (10.4.101.139,3230).
    EZA1701I >>> QUIT
    221 Goodbye


    If line of code using Ftp port .
    step 1 pub.io.streamToBytes
    object ffdata mapped to stream bytes to in_bytes

    appreciate quick reply

    thnx
    RJ


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


  • 7.  RE: how to covert streamTobyte?

    Posted Tue March 09, 2010 02:50 PM

    As mentioned earlier, you either must set the content-type during the FTP put or use a supported filename extension. Refer to the Flat File Schema Developer’s Guide.


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


  • 8.  RE: how to covert streamTobyte?

    Posted Thu March 11, 2010 04:24 PM

    Hi Rob,

    i got your point that we have to set content handler… thanks again.

    Is there any way you can help me for below error. as it’s affecting by business severly

    C:\Documents and Settings\rjambh\SAPR2>ftp
    ftp> open servername port number
    Connected to servername.
    220 ebzwisd1.eadv.na.jnj.com:7802 FTP server (webMethods Integration Server version 7.1.2.0) ready.
    User (server name:(none)): user name
    331 Password required for user name.
    Password:
    230 User LYNX_AccessFTP logged in.
    ftp> cd /ns/…/…/…/…
    250 CWD command successful.
    ftp> dir
    200 PORT command successful.
    150 ASCII mode data connection for /bin/ls (172.32.99.108,2141).
    total 0
    dr-xr-xr-x 3 root root 0 Mar 11 09:55 .
    dr-xr-xr-x 3 root root 0 Mar 11 09:55 …
    226 ASCII transfer complete.
    ftp: 148 bytes received in 0.00Seconds 148000.00Kbytes/sec.
    ftp> put xyz
    200 PORT command successful.
    150 ASCII mode data connection for sxk381_990 (172.32.99.108,2153).
    550 [ISS.0071.9014] Server Error: com.wm.data.ISMemDataImpl
    ftp: 39870 bytes sent in 0.00Seconds 39870000.00Kbytes/sec.

    May i know why i am facing this server issue while placing file.
    Is there any setting or permission are missing for ftp user,ftp server or directory…?

    appreciate your quick repsonse

    RJ


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


  • 9.  RE: how to covert streamTobyte?

    Posted Thu March 11, 2010 05:11 PM

    When you posted with the .txt extension it worked. Without any extension, it does not work. So either use the right filename extension or set the content-type in the put. The lack of content-type or a supported filename extension is what is causing the error.

    You might also consider using binary mode instead of ascii, though that has nothing to do with the error you’re seeing.


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


  • 10.  RE: how to covert streamTobyte?

    Posted Fri March 12, 2010 01:43 PM

    Hi Rob,

    Thanks for quick reply but i don’t know some strange thing happen in this case i never put any content handler.
    just adjusting some service it workout.

    Previously in my code steps are:
    1Sequence:Main
    2SequenceTry
    3pub.io.streamToBytes
    ffdata to stream byte to byte
    4Map : getting all FTP server dteails
    5pub.client.ftp (serviceIn setting ie cmd-put,transfermode- ascii,transfertype-active)
    map bytes to content

    after just adjusting steps called pub.io.streamToByte as 1 step
    1pub.io.streamToBytes
    1Sequence:Main
    2SequenceTry
    3Map : getting all FTP server dteails
    4pub.client.ftp

    After doing this i am able to placed file without file extension it work fine.

    RJ—


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