• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1232
2006.09.21 (02:22:14)
안녕하세요?

문의 하신 에러는 가우스 관련 오류는 아니구요

RMI통신할때(Remote EJB등) 발생하는 오류 입니다.

오류의 원인은

java.io.ByteArrayInputStream이 Serializable한 객체가 아니기 때문에 오류가 발생한 것입니다.

RMI통신에서 파라미터로 넘기는 객체는 Serializable Interface를 implements해서 구현해 주셔야 합니다.

만약 EJB를 사용하신다면 DD스크립트의 내용을 확인해 보시는게 좋을것 같습니다.

Remote EJB인 경우에도 WAS에서 강제적으로 local bean과 유사하게 call by referance형태로 셋팅이

가능합니다.

RMI통신은 call by value형태로 객체가 전달되기 때문에 Serializable 한 객체만 파라미터로 전송이 가능합니다.

자세한 정보는 구글이나 기타 WAS벤더쪽에 물어 보는게 좋을것 같습니다.

그럼 수고하세요.


>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : ICBS
>* GAUCE 버전 : 3.5
>* WAS 종류(WebLogic 등등) : WL6.1
>* DB 종류 : ORACLE 9i
>* 문의 유형(질문/요청/참조) :
>* 내용 : 파일업로드시 나는 에러인데
>           유닉스 운영서버에서는 잘 되는데 로컬 개발환경(Windows)에서는 아래와 같은 에러가 나면서
>           실행이 안됩니다. 해결할 방법이 있는지 알려주세요.
>
>java.rmi.MarshalException: failed to marshal saveRecord_240(Lcom.gauce.GauceDataSet;Ljava.lang.String;); nested exception is:
>        java.io.NotSerializableException: java.io.ByteArrayInputStream
>
>Start server side stack trace:
>java.io.NotSerializableException: java.io.ByteArrayInputStream
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
>        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
>        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
>        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
>        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
>        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
>        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>        at weblogic.rmi.internal.CBVOutputStream.writeObjectInternal(CBVOutputStream.java:216)
>        at weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:209)
>        at weblogic.rmi.internal.CBVOutputStream.writeObject(CBVOutputStream.java:186)
>        at weblogic.rmi.internal.ObjectIO.writeObject(ObjectIO.java:36)
>        at weblogic.rmi.internal.BasicRemoteRef.marshalArgs(BasicRemoteRef.java:214)
>        at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:256)
>        at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
>        at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
>        at $Proxy680.saveRecord_240(Unknown Source)
>        at com.kt.icbs.fc.FCBCDG210E.saveRecord_240(FCBCDG210E.java:202)
>        at jsp_servlet._bcdg._bcdg200.__bcdg210ectl._jspService(__bcdg210ectl.java:325)
>        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
>        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
>        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
>        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)
>        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)
>        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
>        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>End  server side stack trace
>
>
>
 
Tag List
XE Login