wsimport不使用geotoolkit生成客户端类

时间:2012-03-03 16:52:33

标签: jax-ws wsimport

如果我构建一个包含来自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不可用)

1 个答案:

答案 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