在JAVA程序里使用JAVABEAN跟jsp调用JavaBean有什么区别呢?
我按照jsp的方式测试示范代码,javac 提示“找不到符号”。示范代码(调用JAVABEAN访问远程WEBSERVICE)如下:class Newuser{
public static void main(String args[]){
String wsdlUrl = "http://localhost:8080/test/services/MyService?wsdl";    
String nameSpaceUri = "http://localhost:8080/test/services/MyService";     
Service service = new Service();    
Call call = null;    
call = (Call) service.createCall(); QName qname1 = new QName("urn:BeanService","UserInfoBean");
call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFactory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class, qname1));      UserInfoBean theUserInfo = new UserInfoBean();
theUserInfo.setUsername("MyName");
theUserInfo.setPassword("123123"); call.setOperationName(new QName(nameSpaceUri, "insertRow"));    
call.setTargetEndpointAddress(new java.net.URL(wsdlUrl));     
UserInfoBean retUserinfo = (UserInfoBean) call.invoke(new Object[] { theUserInfo });
}
}
错误提示:Newuser.java:5: 找不到符号
符号: 类 Service
位置: 类 Newuser
        Service service = new Service();
        ^
Newuser.java:5: 找不到符号
符号: 类 Service
位置: 类 Newuser
        Service service = new Service();
                              ^
Newuser.java:6: 找不到符号
符号: 类 Call
位置: 类 Newuser
        Call call = null;
        ^
Newuser.java:7: 找不到符号
符号: 类 Call
位置: 类 Newuser
        call = (Call) service.createCall();
                ^
Newuser.java:9: 找不到符号
符号: 类 QName
位置: 类 Newuser
        QName qname1 = new QName("urn:BeanService","UserInfoBean");
        ^
Newuser.java:9: 找不到符号
符号: 类 QName
位置: 类 Newuser
        QName qname1 = new QName("urn:BeanService","UserInfoBean");
                           ^
Newuser.java:10: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
, qname1));
                                 ^
Newuser.java:10: 找不到符号
符号: 类 BeanSerializerFactory
位置: 类 Newuser
        call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
, qname1));
                                                                ^
Newuser.java:10: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
, qname1));      ^
Newuser.java:10: 找不到符号
符号: 类 BeanDeserializerFactory
位置: 类 Newuser
        call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
, qname1));                                      ^
Newuser.java:10: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
, qname1));                                                              ^
Newuser.java:12: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        UserInfoBean theUserInfo = new UserInfoBean();
        ^
Newuser.java:12: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        UserInfoBean theUserInfo = new UserInfoBean();
                                       ^
Newuser.java:16: 找不到符号
符号: 类 QName
位置: 类 Newuser
        call.setOperationName(new QName(nameSpaceUri, "insertRow"));
                                  ^
Newuser.java:18: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        UserInfoBean retUserinfo = (UserInfoBean) call.invoke(new Object[] { the
UserInfo });
        ^
Newuser.java:18: 找不到符号
符号: 类 UserInfoBean
位置: 类 Newuser
        UserInfoBean retUserinfo = (UserInfoBean) call.invoke(new Object[] { the
UserInfo });
                                    ^
16 错误

解决方案 »

  1.   

    那请问Import要怎么写呢?我刚刚搞了2天JAVA,什么概念都没有呢。
      

  2.   

    import怎么写就要看Service之类的类是怎么写的了
    要引入A包的B类就需要加上
    import A.*;
    或者import A.B
      

  3.   

    要看Service被打包在哪里,比如Service类里写的是package com.service,则要在这里写上import com.service就可以了,其他比如UserInfo什么都是一个道理
      

  4.   

    import了,还有错误,如下:
    newuser.java:7: 找不到符号
    符号: 类 Service
    位置: 类 Newuser
            Service service = new Service();
            ^
    newuser.java:7: 找不到符号
    符号: 类 Service
    位置: 类 Newuser
            Service service = new Service();
                                  ^
    newuser.java:8: 找不到符号
    符号: 类 Call
    位置: 类 Newuser
            Call call = null;
            ^
    newuser.java:9: 找不到符号
    符号: 类 Call
    位置: 类 Newuser
            call = (Call) service.createCall();
                    ^
    newuser.java:11: 找不到符号
    符号: 类 QName
    位置: 类 Newuser
            QName qname1 = new QName("urn:BeanService","UserInfoBean");
            ^
    newuser.java:11: 找不到符号
    符号: 类 QName
    位置: 类 Newuser
            QName qname1 = new QName("urn:BeanService","UserInfoBean");
                               ^
    newuser.java:12: 找不到符号
    符号: 类 BeanSerializerFactory
    位置: 类 Newuser
            call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
    ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
    , qname1));
                                                                    ^
    newuser.java:12: 找不到符号
    符号: 类 BeanDeserializerFactory
    位置: 类 Newuser
            call.registerTypeMapping(UserInfoBean.class, qname1,new BeanSerializerFa
    ctory(UserInfoBean.class, qname1),new BeanDeserializerFactory(UserInfoBean.class
    , qname1));                                      ^
    newuser.java:18: 找不到符号
    符号: 类 QName
    位置: 类 Newuser
            call.setOperationName(new QName(nameSpaceUri, "insertRow"));
                                      ^
    9 错误
      

  5.   

    请教哈,Service, Call, QName都是JAVA内置对象麽?
      

  6.   

    Service /Call  /QName /Newuser 都要导入
      

  7.   

    可能有的是,有的不是,如果你导入的时候import java.******或javax.********那基本上就是jdk的。
    PS:就算是jdk内置的,大部分还是得要你导入
      

  8.   


    你牛叉,jsp & webservice变成,居然不用ide直接cmd。。
      

  9.   

    用 import java.*; 还是不行。
    愁人。
      

  10.   

    .....这当然不行 你把jsp源代码贴出来看看
      

  11.   

    搞不明白这个事了。我想要的是JSP。JSP调用JAVABEAN已经搞出来了。
    示例代码自称是JAVA,我放到<%%>里报错,这才想到用JAVA编译一下看看的。
      

  12.   

    只有这一个示范代码,我的目的就是写成JSP的。+_+
      

  13.   

    到底要怎么导入呢?这东西是不是就是一层窗户纸?? ^_^newuser.java:2: 软件包 java.Service 不存在
    import java.Service.*;
    ^
    newuser.java:3: 软件包 java.Call 不存在
    import java.Call.*;
    ^
    newuser.java:4: 软件包 java.QName 不存在
    import java.QName.*;
    ^
    newuser.java:11: 找不到符号
    符号: 类 Service
    位置: 类 Newuser
            Service service = new Service();
            ^
      

  14.   

    你有它那个jar包吗?有的话,用winrar打开,看这几个类在哪里,然后再导入。
    比如Service类在它的com目录下的service目录下的deploy下,那你就
    import com.service.deploy.Service;
      

  15.   

    只有几个 ***InfoBean.class,没有Service,Call,QName。
    这些东西到底是不是java内置类呢,还是第三方的?如果是第三方的我会拿拖鞋去砸给我这套东西的人。;)
      

  16.   

    那你那些个.class文件有没有上面的这几个比如Service.class文件?有的话加进来,没有的话,问下他到底怎么import光叫我猜,孩真不好说啊。
      

  17.   

    呵呵,刚刚学java两天就开始搞jsp啦?有难度哦
    努力,好运!
      

  18.   

    需要导入,无论是java类还是jsp。找找那段代码是哪给你的。看看在他那的类或者是jsp里有导入没有。另外看看他有没有说他引用了哪些第三方包。
    如果你在他引用的第三方包里找到了service你需要import的是。
    import packagename.Service;  在类里
    <%@ page import="packagename.Service"%>在jsp里
    其中的packagename你能够在那个类的定义里找到,就是它package后面那段。
      

  19.   

    搞清楚了。import javax.xml.namespace.QName
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import org.apache.axis.encoding.ser.BeanSerializerFactory;后面三个来自axis。
    现在的问题是,axis怎么安装配置?已经折腾小半天了。+_+
      

  20.   


    Axis Happiness Page
    Examining webapp configurationLanguage: [en] [ja] 
    Needed Components
    Found SAAJ API ( javax.xml.soap.SOAPMessage ) at an unknown locationFound JAX-RPC API ( javax.xml.rpc.Service ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\jaxrpc.jarFound Apache-Axis ( org.apache.axis.transport.http.AxisServlet ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\axis.jarFound Jakarta-Commons Discovery ( org.apache.commons.discovery.Resource ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\commons-discovery-0.2.jarFound Jakarta-Commons Logging ( org.apache.commons.logging.Log ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\commons-logging-1.0.4.jarFound Log4j ( org.apache.log4j.Layout ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\log4j-1.2.8.jarFound IBM's WSDL4Java ( com.ibm.wsdl.factory.WSDLFactoryImpl ) at C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\axis\WEB-INF\lib\wsdl4j-1.5.1.jarFound JAXP implementation ( javax.xml.parsers.SAXParserFactory ) at an unknown location
    Found Activation API ( javax.activation.DataHandler ) at an unknown locationOptional Components
    Warning: could not find class javax.mail.internet.MimeMessage from file mail.jar
    Attachments will not work. 
    See http://java.sun.com/products/javamail/
    Warning: could not find class org.apache.xml.security.Init from file xmlsec.jar
    XML Security is not supported. 
    See http://xml.apache.org/security/
    Found Java Secure Socket Extension ( javax.net.ssl.SSLSocketFactory ) at an unknown location