我这边有一个webService应用,其中一个方法的返回值是List<String>,如果返回的list里有多个值,就可以转化成功((List<String>)call.invoke(method, params)),返回的soap是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getTransactionIdByActionResponse xmlns:ns1="http://fulfillment.webservice.dragonfx.dell.com/">
<return>1000000000054</return>
<return>1000000000055</return>
</ns1:getTransactionIdByActionResponse>
</soap:Body>
</soap:Envelope> 但是如果返回的list中只有一个值就无法转换成功,报说无法把String类型转换为List类型
返回的soap是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getTransactionIdByActionResponse xmlns:ns1="http://fulfillment.webservice.dragonfx.dell.com/">
<return>1000000000054</return>
</ns1:getTransactionIdByActionResponse>
</soap:Body>
</soap:Envelope> 请问有人遇到这个问题没啊? 这是不是axis的bug啊
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getTransactionIdByActionResponse xmlns:ns1="http://fulfillment.webservice.dragonfx.dell.com/">
<return>1000000000054</return>
<return>1000000000055</return>
</ns1:getTransactionIdByActionResponse>
</soap:Body>
</soap:Envelope> 但是如果返回的list中只有一个值就无法转换成功,报说无法把String类型转换为List类型
返回的soap是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getTransactionIdByActionResponse xmlns:ns1="http://fulfillment.webservice.dragonfx.dell.com/">
<return>1000000000054</return>
</ns1:getTransactionIdByActionResponse>
</soap:Body>
</soap:Envelope> 请问有人遇到这个问题没啊? 这是不是axis的bug啊
我建议你先判断一个return标签的个数,要是是一个就自己转换成String然后再add到一个List里,如果>1再强转成List,结果不都是一样的嘛,又不是说不能转就做不了了