我有一个定期将 xml 文件发送到特定网络服务的设备。我也有一个网络服务。我的网络服务读取了这个 xml。
我的 Web 服务定义是:
@Name("myWebService")
@SOAPBinding(style = Style.RPC)
@WebService(targetNamespace = "http://www.abc.com.tr/")
public class MyWebService {
@Resource
WebServiceContext wsContext;
@WebMethod()
public String DeviceStatus(@WebParam(name = "SP") SP SP) {..}
我的类结构是 SP.java、MODULES.java、MODULE.java、SENSORS.java、SENSOR.java
之前没有问题,但是当传入的 xml 的命名空间定义发生变化时,我的 web 服务开始给出错误,例如:找不到子元素 SP
在传入的 xml 之前是:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abc="http://www.abc.com.tr/">
<soap:Body>
<abc:DeviceStatus>
<SP>
<VERSION>1.2</VERSION>
<MODULES>
<MODULE><NAME>name</NAME><TYPE>1</TYPE>
<SENSORS>
<SENSOR><ID>0</ID><NAME>Input</NAME></SENSOR>
</SENSORS>
</MODULE>
</MODULES>
</SP>
</abc:DeviceStatus></soap:Body></soap:Envelope>
现在传入的xml是:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeviceStatus xmlns="http://www.abc.com.tr/">
<SP>.......
我期待着您的回复。谢谢...