0

在我的项目中,有许多各种类型的 XML 文件,如 XSD、WSDL、参数映射等。它们都接收 IDE 生成的命名空间,但命名空间不是唯一的(跨项目 - 具有相同名称的元素会获得相同的命名空间)也不是描述性的(或令人困惑的——它们都以“http://www.ibm.com/...”开头,即使它们定义了我自己的实体,而不是 IBM 的实体)。那么命名空间重构是必要的。

我的疑问如下:

1) 每个元素应该有自己的命名空间,还是应该相关的元素共享它们的命名空间?例如,

  • SOAP 请求和响应消息应该属于同一个命名空间,还是应该有自己的命名空间?
  • WSDL 和相关的 XSD 应该使用相同的目标名称空间,还是不同?

例如:

http://www.xarx.com/xmlns/TheProject/Administration/wsdl/StartProcess
http://www.xarx.com/xmlns/TheProject/Administration/xsd/StartProcessRequest
http://www.xarx.com/xmlns/TheProject/Administration/xsd/StartProcessResponse

或一切进入

http://www.xarx.com/xmlns/TheProject/Administration

2) 所有生成的公开可见的命名空间必须得到纠正,当然。但是项目内部的那些呢?他们的重构是在浪费时间吗?它们可能出现在管理控制台或日志中,错误的命名空间可能会产生误导。

4

1 回答 1

0

我们尝试在 WebSphere ESB 中为所有相关元素使用相同的 XML 名称空间,以下是我的经验:

所有相关的元素都可以使用相同的命名空间,IDE 和编译器都不用打扰。具有不同用途的元素通常具有不同的名称,因此它们不会导致名称冲突。但是 IDE 会生成大量 XML 文件,并且有时会发生生成的元素与您想要使用的名称相同的情况。(通常 XXX_Request 和 XXX_Response 是 Websphere Integration Developer 在派生的 WSDL 文件中生成的名称,因此我们必须使用 XXX_Req 和 XXX_Res 来代替。)

于 2012-10-26T17:37:30.087 回答