看看jidl生成的文件吧,里面有针对在idl接口中定义的数据类型的类。

解决方案 »

  1.   

    用idl2java编译这个idl文件,会生成一些java框架代码的,找到相应的定义去实现就是了。
      

  2.   

    我已生成了java代码,在java中调用GetAllFilmInformation的程序如下:
    filmBasicAttributeList = new FilmBasicAttributeListHolder(); //实例化out参数
    result = getFilm.GetAllFilmInformation(filmBasicAttributeList);//调用远程方法
    但程序报错如下:<h1>Error: 500</h1>
    <h2>Location: /src/FILM/film_main.jsp</h2><b>Internal Servlet Error:</b><br>null<pre>nulljavax.servlet.ServletExceptionnull at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:386)null at src.FILM._0002fsrc_0002fFILM_0002ffilm_0005fmain_0002ejspfilm_0005fmain_jsp_3._jspService(_0002fsrc_0002fFILM_0002ffilm_0005fmain_0002ejspfilm_0005fmain_jsp_3.java:80)null at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126)null at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)null at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:174)null at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)null at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)null at com.borland.jbuilder.webserverglue.tomcat.jsp.JspLoaderEcho.service(Unknown Source)null at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)null at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)null at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)null at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)null at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)null at java.lang.Thread.run(Thread.java:484)null</pre>null<b>Root cause:</b>null<pre>nulljava.lang.NullPointerExceptionnull at FILM.film.film_query(film.java:152)null at src.FILM._0002fsrc_0002fFILM_0002ffilm_0005fmain_0002ejspfilm_0005fmain_jsp_3._jspService(_0002fsrc_0002fFILM_0002ffilm_0005fmain_0002ejspfilm_0005fmain_jsp_3.java:70)null at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:126)null at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)null at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:174)null at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261)null at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369)null at com.borland.jbuilder.webserverglue.tomcat.jsp.JspLoaderEcho.service(Unknown Source)null at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)null at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)null at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)null at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)null at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)null at java.lang.Thread.run(Thread.java:484)null</pre>null
      

  3.   

    请问,在IDL定义的方法中,如方法的参数中包含有OUT参数,如以下方法:
    long GetAllFilmInformation( out FilmBasicAttributeList 
    cl_film_basic_attribute_list ),那么我在JAVA中该怎么调用呢?
      

  4.   

    我在java中已对方法的参数类filmBasicAttributeList进行了实例化,但进行远程调用时,却报参数不能为空的错误,如下的方法:
     result = getFilm.GetAllFilmInformation(filmBasicAttributeList);//调用远程方法
    请问为什么啊??????
      

  5.   

    从表现出来的程序来说我觉得正确, 
    你的getFilm是否是正确的引用?
    在执行此操作之前有没有执行过别的方法?(可以验证你的引用是正确的)
      

  6.   

    我看问题出在服务端的程序,请问filmBasicAttributeList你是如何赋值的。请将代码附上