如果我构建一个包含来自geotoolkit库的对象的jax-ws Web服务,当我运行wsimport工具来生成客户端时,我会收到以下错误: [wsimport] [错误]未定义简单类型'驱动'
[wsimport] http://localhost:8080/jaxws/myservice?xsd=1
的第5行[wsimport] [错误]未定义的简单类型'show'
[wsimport] http://localhost:8080/jaxws-myapp/myservice?xsd=1
的第13行[wsimport] [错误]未定义的简单类型'type'
[wsimport] http://localhost:8080/jaxws-myapp/myservice?xsd=1第17行。
任何解决方法? 我找不到一种正确的方法来告诉wsimport从不同的url读取xsd定义而不是在线的(问题是wsdl指定的某些命名空间引用的url不可用)
答案 0 :(得分:0)
最后,我找到了如何编写OASIS XML目录文件来解决问题:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<system systemId="http://localhost:8080/jaxws-myapp/myservice?xsd=1" uri="file:///c:/myxsd"/>
</catalog>
这样wsimport用本地xsd覆盖内联xsd,其中我将类型(最初是枚举)简化为xs:string