如何使用soap Web服务解析xml

时间:2012-10-11 07:11:24

标签: java xml soap

我有一个设备定期将xml文件发送到特定的Web服务。我也有一个网络服务。我的网络服务读了这个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的命名空间定义发生了变化时,我的webservice开始出现错误,如:找不到子元素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>.......

我期待你的回复。感谢...

0 个答案:

没有答案