Caused by: java.lang.NoSuchMethodException: javax.xml.bind.annotation.XmlElementRef.required()
来源:互联网 发布:ios11智能拨号软件 编辑:程序博客网 时间:2024/03/29 05:10
在用java做webservice 的过程中,遇到的这个问题:
工具:myeclipse
jdk: 1.6
调用代码:
package com.client.demo;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;public class Demo {public static void main(String args[]){JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();Client client = clientFactory.createClient("http://leyooo:8281/services/Staff?wsdl");try {//staff 人员接口int limit = 1;//如果有多个参数,直接在后面追加,参数对应的数据类型要正确//例:Object[] rsp = client.invoke("staffInfo",limit1,limit2,limit3);Object[] rsp = client.invoke("staffInfo",limit);System.out.println("return: " + rsp[0]);} catch (Exception e) {//e.printStackTrace();System.out.println(e.getMessage());}}}错误信息:
Exception in thread "main" java.lang.reflect.UndeclaredThrowableExceptionat $Proxy36.required(Unknown Source)at com.sun.tools.xjc.generator.bean.field.AbstractField.annotateReference(AbstractField.java:192)at com.sun.tools.xjc.generator.bean.field.AbstractField.annotate(AbstractField.java:161)at com.sun.tools.xjc.generator.bean.field.AbstractFieldWithVar.createField(AbstractFieldWithVar.java:80)at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:94)at com.sun.tools.xjc.generator.bean.field.SingleField.<init>(SingleField.java:81)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)at java.lang.reflect.Constructor.newInstance(Constructor.java:513)at com.sun.tools.xjc.generator.bean.field.GenericFieldRenderer.generate(GenericFieldRenderer.java:69)at com.sun.tools.xjc.generator.bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:82)at com.sun.tools.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:774)at com.sun.tools.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:555)at com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:258)at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:166)at com.sun.tools.xjc.model.Model.generateCode(Model.java:290)at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:283)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:54)at $Proxy26.bind(Unknown Source)at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:320)at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:240)at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:233)at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:188)at com.client.demo.Demo.main(Demo.java:10)Caused by: java.lang.NoSuchMethodException: javax.xml.bind.annotation.XmlElementRef.required()at java.lang.Class.getDeclaredMethod(Class.java:1937)at com.sun.codemodel.TypedAnnotationWriter.invoke(TypedAnnotationWriter.java:112)... 29 more
问题:
开始自己在eclipse下做的,测试均无问题,我的机器JDK是1.7版本,在与第三方人员进行联调测试时出现了以上的错误,他们使用的工具是myeclipse, JDK 1.6。myeclipse自带JDK版本也是1.6,这个问题很奇怪! google了下,看到很多解释说是其中几个jar包与jdk1.6不兼容的问题。
以下三个包:
jaxb-xjc-2.2.5.1.jar
jaxb-impl-2.2.5.1.jar
jaxb-api-2.2.5.jar
替换为:
jaxb-xjc-2.1.13.jar
jaxb-api-2.1.jar
jaxb-impl-2.1.3.jar
替换完后,运行搞定!
由于自己不是专门做java开发的更多信息请访问:
http://cxf.547215.n5.nabble.com/Help-using-wsdl2java-script-td3284997.html
2.1版本jar包:
http://download.csdn.net/detail/u013706172/7231849
http://download.csdn.net/detail/u013706172/7231839
http://download.csdn.net/detail/u013706172/7231829
jaxb-api-2.1.jar
jaxb-impl-2.1.3.jar
替换完后,运行搞定!
由于自己不是专门做java开发的更多信息请访问:
http://cxf.547215.n5.nabble.com/Help-using-wsdl2java-script-td3284997.html
2.1版本jar包:
http://download.csdn.net/detail/u013706172/7231849
http://download.csdn.net/detail/u013706172/7231839
http://download.csdn.net/detail/u013706172/7231829
0 0
- Caused by: java.lang.NoSuchMethodException: javax.xml.bind.annotation.XmlElementRef.required()
- Caused by: java.lang.NoSuchMethodException
- Caused by: java.lang.NoSuchMethodException: callDrawGLFunction [long]
- Caused by: java.lang.NoClassDefFoundError: javax/xml/ws/Endpoint
- Caused by: java.lang.ClassNotFoundException:javax.wsdl.xml.WSDLLocator
- Caused by: java.lang.ClassNotFoundException: javax.wsdl.xml.WSDLLocator
- Caused by: java.lang.NoClassDefFoundError: javax/persistence/
- Caused by: java.lang.NoSuchMethodException: false [class android.view.View]
- Caused by: java.lang.NoSuchMethodException: xxx [class android.view.View]
- 自定义View:关于Caused by: java.lang.NoSuchMethodException异常
- Android 自定义控件时出现: Caused by: java.lang.NoSuchMethodException
- javax.portlet.PortletException: java.lang.NoSuchMethodException portlet.xml
- java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
- java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
- Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around
- Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around
- Caused by: java.lang.NullPointerException: Location is required.
- springboot Caused by: java.lang.IllegalArgumentException: Property 'sessionFactory' is required
- poj3461-我的第一道kmp
- 关于指针、引用、值传递的学习
- 谈谈singelton单例模式
- 中国陆地生态系统变化的空间特征
- 日志
- Caused by: java.lang.NoSuchMethodException: javax.xml.bind.annotation.XmlElementRef.required()
- Java 数组length总结
- 1111111111
- FIFO
- brk和sbrk
- PHP 中file_get_contents 超时问题
- 更新 hadoop eclipse 插件
- 3M HFE-7100(九氟丁基甲醚)新一代导热液
- StringUtils 开发中常用的字符串格式