自己写了一个简单的Java工程,写个一个测试类
String url = "http://192.168.0.89:8080/WebService/services/LoginService";
String namespace = "http://service";
String method = "login";
User user = new User();// 第1步:创建SoapObject对象,并指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(namespace, method);
运行出现下列错误:java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main" 去掉下面那行
SoapObject request = new SoapObject(namespace, method);执行正常
我仔细检查了自己的环境变量和Eclipse中java Compiler的配置都是JDK5,是相同的,网上也查了不少未果。。
自己怀疑是SOAP2的编译使用的JDK版本和自己现在使用的JDK的版本不一致导致的,
知道的兄弟给个回应,谢了???下个JDK高点的版本试试,,下去吃饭了,,,
String url = "http://192.168.0.89:8080/WebService/services/LoginService";
String namespace = "http://service";
String method = "login";
User user = new User();// 第1步:创建SoapObject对象,并指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(namespace, method);
运行出现下列错误:java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main" 去掉下面那行
SoapObject request = new SoapObject(namespace, method);执行正常
我仔细检查了自己的环境变量和Eclipse中java Compiler的配置都是JDK5,是相同的,网上也查了不少未果。。
自己怀疑是SOAP2的编译使用的JDK版本和自己现在使用的JDK的版本不一致导致的,
知道的兄弟给个回应,谢了???下个JDK高点的版本试试,,下去吃饭了,,,
解决方案 »
- java IC卡信息读写
- FCKeditor编辑的文本存入oracle数据库,然后按格式读取出来
- 快来帮忙啊?????
- 急!异常:java.net.SocketException: Connection reset by peer: socket write error是怎么回事???
- Tomcat5的errorPage问题
- 关于SSL的问题,一经解决,立即给分!!!(在线等待)
- struts的这个异常是啥子??
- 关于cmp的问题,weblogic 报错 请高手指点
- 来说说你遇到的奇葩面试官以及面试经历
- hbernate查询 sql查询结果集,出现hashCode()地址相同
- SSH时遇到的错误
- 小弟刚学习使用struts1+ibatis+spring时的错误,跪求牛人解释下
这个我也可以肯定,我已经换了高版本的JDK已达到更好的兼容性,应该是SOAP2的编译环境自己JDK的运行环境不能兼容导致的。
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;class User {
private String username;
private String password;}public class SOAP2Test { public static void main(String[] args) throws Exception {
String url = "http://192.168.0.89:8080/WebService/services/LoginService";
String namespace = "http://service";
String method = "login";
User user = new User(); SoapObject request = new SoapObject(namespace, method);
//1、此处传递的是一字符串,如果将"hello world"改为user对象如何传递,此处报错下面
//java.lang.RuntimeException: Cannot serialize: User@1a758cb
//2、如果让User实现org.ksoap2.serialization.KvmSerializable接口报错下面:
//java.lang.ClassCastException: org.ksoap2.SoapFault cannot be
request.addProperty("user", "hello world");
System.out.println(request.getProperty("user")); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER10);
envelope.bodyOut = request;
envelope.setOutputSoapObject(request); HttpTransportSE transport = new HttpTransportSE(url);
transport.debug = true; transport.call(null, envelope);
Object o = envelope.bodyIn;
System.out.println("o----" + o.getClass());
SoapObject soapObject = (SoapObject) envelope.bodyIn; System.out.println(soapObject.getClass()); }}自己传递“helloworld”字符串是没问题的,如果传递User对象就报错,java.lang.RuntimeException: Cannot serialize: User@1a758cb如果让User实现org.ksoap2.serialization.KvmSerializable接口报错下面:
java.lang.ClassCastException: org.ksoap2.SoapFault cannot be