0

如果我构建一个包含来自 geotoolkit 库的对象的 jax-ws Web 服务,当我运行 wsimport 工具来生成客户端时,我会收到以下错误:[wsimport] [ERROR] undefined simple type 'actuate'

[wsimport] http://localhost:8080/jaxws/myservice?xsd=1的第 5 行

[wsimport] [错误] 未定义的简单类型“显示”

[wsimport] http://localhost:8080/jaxws-myapp/myservice?xsd=1的第 13 行

[wsimport] [错误] 未定义的简单类型 'type'

[wsimport] http://localhost:8080/jaxws-myapp/myservice?xsd=1的第 17 行。

任何解决方法?我找不到正确的方法来告诉 wsimport 从与在线 URL 不同的 url 读取 xsd 定义(问题是 wsdl 指定的某些命名空间引用的 url 不可用)

4

1 回答 1

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

于 2012-03-05T11:12:56.227 回答