C:\Documents and Settings\Administrator>d:D:\Workspaces\CallWebservice>cd D:\Workspaces\CallWebserviceD:\Workspaces\CallWebservice>wsimport -d ./bin -s ./src -p com.yongan.client htt
p://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?WSDL
parsing WSDL...
Exception in thread "main" java.lang.NoSuchMethodError: com.sun.xml.internal.bin
d.v2.runtime.JAXBContextImpl.<init>([Ljava/lang/Class;Ljava/util/Collection;Ljav
a/util/Map;Ljava/lang/String;ZLcom/sun/xml/internal/bind/v2/model/annotation/Run
timeAnnotationReader;ZZ)V
        at com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BindInfo.getJAXB
Context(BindInfo.java:316)
        at com.sun.tools.internal.xjc.reader.internalizer.SCDBasedBindingSet.app
ly(SCDBasedBindingSet.java:195)
        at com.sun.tools.internal.xjc.ModelLoader.createXSOM(ModelLoader.java:50
2)
        at com.sun.tools.internal.xjc.api.impl.s2j.SchemaCompilerImpl.bind(Schem
aCompilerImpl.java:216)
        at com.sun.tools.internal.xjc.api.impl.s2j.SchemaCompilerImpl.bind(Schem
aCompilerImpl.java:69)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.JAXBModelBuilder.bin
d(JAXBModelBuilder.java:120)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildJAX
BModel(WSDLModeler.java:2173)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.internal
BuildModel(WSDLModeler.java:173)
        at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildMod
el(WSDLModeler.java:119)
        at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.jav
a:170)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:100)
        at com.sun.tools.internal.ws.WsImport.main(WsImport.java:38)D:\Workspaces\CallWebservice>
wsdl 转成java 客户端代码为什么会这样?

解决方案 »

  1.   

    java.lang.NoSuchMethodError  配置没问题?应该是你的环境变量的配置有问题吧,找不到该方法com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl
      

  2.   

    这个方法在rt.jar 里,我把classpath加上后,问题解决,出现三个警告!parsing WSDL...
    [WARNING] Ignoring SOAP port "qqOnlineWebServiceSoap12": it uses non-standard SO
    AP 1.2 binding.
    You must specify the "-extension" option to use this binding.
      line 115 of http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl[WARNING] ignoring port "qqOnlineWebServiceHttpGet": no SOAP address specified.
    try running wsimport with -extension switch.
      line 118 of http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl[WARNING] ignoring port "qqOnlineWebServiceHttpPost": no SOAP address specified.
     try running wsimport with -extension switch.
      line 121 of http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdlgenerating code...不知对我调用有没有影响!