webservice生成客户端文件报错

E:\soft\Java\JDK1.8\bin\java.exe -classpath E:\code\test\out\production\test;E:\code\test\lib\ha-api.jar;E:\code\test\lib\javax.annotation.jar;E:\code\test\lib\gmbal-api-only.jar;E:\code\test\lib\FastInoset.jar;E:\code\test\lib\jaxb-api.jar;E:\code\test\lib\jaxb-impl.jar;E:\code\test\lib\jaxws-api.jar;E:\code\test\lib\jsr181-api.jar;E:\code\test\lib\jaxws-tools.jar;E:\code\test\lib\jaxb-xjc.jar;E:\code\test\lib\jaxws-rt.jar;E:\code\test\lib\management-api.jar;E:\code\test\lib\mail.jar;E:\code\test\lib\policy.jar;E:\code\test\lib\saaj-api.jar;E:\code\test\lib\mimepull.jar;E:\code\test\lib\stax2-api.jar;E:\code\test\lib\saaj-impl.jar;E:\code\test\lib\stax-ex.jar;E:\code\test\lib\streambuffer.jar;E:\code\test\lib\woodstox-core-asl.jar;E:\soft\Java\JDK1.8\lib\tools.jar;E:/code/test/out/production/test -Xmx128M com.sun.tools.ws.WsImport -p com -d E:\code\test\src -s E:\code\test\src -extension -wsdllocation http://zjjtest.sz.gov.cn/message/construct-platform/service/SMSService?wsdl http://zjjtest.sz.gov.cn/message/construct-platform/service/SMSService?wsdl
??????? WSDL...

Exception in thread "main" java.lang.AssertionError: org.xml.sax.SAXParseException; systemId: jar:file:/E:/code/test/lib/jaxb-xjc.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference: ???? accessExternalSchema 由于 accessExternalSchema 属性设置的限制而不允许 ‘file‘ 访问, 因此无法读取方案文档 ‘xjc.xsd‘。
at com.sun.tools.xjc.SchemaCache.newValidator(SchemaCache.java:80)
at com.sun.tools.xjc.reader.internalizer.SCDBasedBindingSet.apply(SCDBasedBindingSet.java:237)
at com.sun.tools.xjc.ModelLoader.createXSOM(ModelLoader.java:541)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:269)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:95)
at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:142)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2244)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:191)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:137)
at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:391)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:204)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.tools.ws.Invoker.invoke(Invoker.java:135)
at com.sun.tools.ws.WsImport.main(WsImport.java:57)
Caused by: org.xml.sax.SAXParseException; systemId: jar:file:/E:/code/test/lib/jaxb-xjc.jar!/com/sun/tools/xjc/reader/xmlschema/bindinfo/binding.xsd; lineNumber: 52; columnNumber: 88; schema_reference: ???? accessExternalSchema ???????õ???????????? ‘file‘ ????, ???????????????? ‘xjc.xsd‘??
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4154)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaFatalError(XSDHandler.java:4133)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:2174)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.resolveSchema(XSDHandler.java:2084)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.constructTrees(XSDHandler.java:1014)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:625)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:610)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:569)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:535)
at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:254)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)
at com.sun.tools.xjc.SchemaCache.newValidator(SchemaCache.java:77)
... 17 more
Done

问题描述
配置JDK版本和JRE版本为1.8.0_151。
使用IDEA开发WebService客户端时遇到这个问题。
在终端使用命令java -version

Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

可以看到第一行有设置_JAVA_OPTIONS,按照其他教程中所说的配置/etc/profile文件,追加一行unset JAVA_TOOL_OPTIONS并不能起到作用。(很可能是操作系统的原因)

问题原因
使用JDK和JRE1.8版本时,有这样一个BUG。
详情见https://bugs.openjdk.java.net/browse/JDK-8020999

解决方案
在jdk的安装路径下的jre\lib下(我的路径为/usr/local/jdk1.8.0_151/jre/lib),添加一个属性文件jaxp.properties,并写上如下内容javax.xml.accessExternalSchema = all

原文地址:https://www.cnblogs.com/UUUz/p/12176193.html

时间: 2024-08-10 15:48:02

webservice生成客户端文件报错的相关文章

【JNI编程】使用javah命令生成头文件报错的解决方案

异常信息: 提示找不到某个类(要进行编译的类) 产生异常的开发环境: jdk7.0 ndk版本: android-ndk-r7b 解决方案: 在环境变量classpath中添加android.jar这个文件的目录 如:E:\eclipse\android-sdks\platforms\android-8\android.jar 问题描述: 刚开始研究JNI,然后让这个问题折腾了一上午,使用javah来生成java的class文件没问题,但是生成包含android特有的类库的class文件就出错,

itext生成PDF文件报错“Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.”

最近需要写一个抽取表结构的工具,类似于powerdesigner中的表图,其中有一步用到了itext这个第三方jar包来生成pdf文件,碰到了一个问题,记录于此. 问题描述: 工程使用maven构建,pom.xml中对于jar包的定义如下: <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</vers

在Android工程中加入AIDL文件时,gen目录生成的文件报错-问题解决

from://http://blog.csdn.net/watt520/article/details/10099047 今天在弄清除缓存的东东,按照网上别人的方法,创建了一个AIDL文件,这个时候发现gen目录下自动生成的java文件报错了,内容是里面的一些方法要去掉override,但是去掉之后还是报错,所以我想应该不是要去掉override..于是又四处寻找问题解决办法,最终看到某某大神说和JDK版本有关系,我表示很无语,不过,我试着把properities->java compiler里

【MySQL8】 安装后的简单配置(主要解决navicat等客户端登陆报错问题)

一.navicat等客户端登陆报错的原因 使用mysql,多数我们还是喜欢用可视化的客户端登陆管理的,个人比较喜欢用navicat.一般装好服务器以后,习惯建一个远程的登陆帐号,在mysql8服务器上,用老方法创建的帐号,可以用mysql自己命令行正常登入,但是用navicat等软件登入却会提示错误 原因是MySQL8的新特性,MySQL8默认使用 caching_sha2_password 身份验证机制.旧客户端不支持这种验证,当然就无法登入了. 所以解决办法也很简单,只需要我们在服务器上用旧

eclipse 向HDFS中写入文件报错 permission denied

环境:win7  eclipse    hadoop 1.1.2 当执行创建文件的的时候, 即: fileSystem.mkdirs(Path);//想hadoop上创建一个文件报错 报错: org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 原因: 1. 当前用户

【转】 grep 文件报错 “Binary file ... matches”

原文链接 http://blog.csdn.net/yaochunnian/article/details/7261006 grep 文件报错 “Binary file ... matches” 原因:文件为binary文件 解决:strings vers.log.2010-03-09 | grep -i ‘mezimedia’ 或者 grep -a -i ‘mezimedia’ vers.log.2010-03-09 grep命令是linux下的行过滤工具,其参数繁多,下面就一一介绍个个参数的

打开xmind文件报错

xmind文件在拷贝到其他电脑上的时候,打开报如下的错误信息: 'java.lang.OutOfMemoryError': Java heap space 如下图所示: 具体原因就不再次做过多的解释了,按照如下的方法修改后,本人的文件已可以正常打开 到XMIND安装的根目录下面找到XMind.ini文件,并打开 查找 -vmargs 一般在文件的倒数第三行,然后在该行下面添加两行 -vmargs   //下面是要添加的内容 -Xms128M  -Xmx512M 保存之后即可打开 如果还不能打开,

[转]解决IIS下UTF-8文件报错乱码的问题

找了两天才找到解决办法…….晕晕晕...用第二种方法解决了. 网上找到的方法都没有写这一条 If objASPError.ASPDescription > "" Then 后面的回车去掉(这个地方微软写错了) 将这一句后面的<br>注释掉即可! Response.Write Server.HTMLEncode(objASPError.ASPDescription)' & "<br>" 转自:http://blog.csdn.ne

windows8.1下安装msi文件报错

新安装了win8.1系统体验体验,可是安装msi文件的软件报internal error2502和2503错误,可以换一种安装方式. 不是直接点开安装,如图所示打开命令提示符: 使用msiexec /package 安装文件的全路径  进行安装比如:C:\Windows\system32>msiexec /package C:\Users\Administrator\Downloads\VisualSVN-Server-2.7.7.msi 即可解决报错问题 windows8.1下安装msi文件报