在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 错误
我按照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 错误
要引入A包的B类就需要加上
import A.*;
或者import A.B
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 错误
PS:就算是jdk内置的,大部分还是得要你导入
你牛叉,jsp & webservice变成,居然不用ide直接cmd。。
愁人。
示例代码自称是JAVA,我放到<%%>里报错,这才想到用JAVA编译一下看看的。
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();
^
比如Service类在它的com目录下的service目录下的deploy下,那你就
import com.service.deploy.Service;
这些东西到底是不是java内置类呢,还是第三方的?如果是第三方的我会拿拖鞋去砸给我这套东西的人。;)
努力,好运!
如果你在他引用的第三方包里找到了service你需要import的是。
import packagename.Service; 在类里
<%@ page import="packagename.Service"%>在jsp里
其中的packagename你能够在那个类的定义里找到,就是它package后面那段。
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.BeanSerializerFactory;后面三个来自axis。
现在的问题是,axis怎么安装配置?已经折腾小半天了。+_+
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