我需要一个旧软件(不是我开发的)来测试旧设备。设备通过网络服务与服务器“对话”。这些 web 服务是由轴自动生成的(轴接受一个类并从它的方法中创建 web 服务)。
问题是:设备被开发为读取这样的 xml:
<ns:getReferenceCurveResponse xmlns:ns="http://services.teste.org" xmlns:ax22="http://data.teste.org/xsd" xmlns:ax23="http://util.java/xsd">
<ns:return type="org.teste.ReferenceCurve">
<ax21:createdOn>2012-08-16 17:00:59.0</ax21:createdOn>
<ax21:endPoint>9.2</ax21:endPoint>
<ax21:fiberId>21</ax21:fiberId>
<ax21:id>42</ax21:id>
现在网络服务是这样的:
<ns:getReferenceCurveResponse xmlns:ns="http://services.teste.org" xmlns:ax22="http://data.teste.org/xsd" xmlns:ax23="http://util.java/xsd">
<ns:return type="org.teste.ReferenceCurve">
<ax22:createdOn>2012-08-16 17:00:59.0</ax22:createdOn>
<ax22:endPoint>9.2</ax22:endPoint>
<ax22:fiberId>21</ax22:fiberId>
<ax22:id>42</ax22:id>
正如您所注意到的,命名空间中的前缀已从 ax21 更改为 ax22,这会产生错误,因为设备被编码为前缀 ax21。
我已经挖了一个解决方案,但找不到。我已经重新编译了服务器端,也没有成功。我找不到任何地方可以更改此命名空间前缀,因为它是由 Axis2 自动生成的