我有以下几点:
public String searchRecipes( String searchString, int pageNumber ) throws Exception
{
SoapObject _client = new SoapObject( "", "searchRecipes" );
_client.addProperty("searchString", searchString);
_client.addProperty("pageNumber", pageNumber);
SoapSerializationEnvelope _envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11 );
_envelope.bodyOut = _client;
Marshal dateMarshal = new MarshalDate();
dateMarshal.register(_envelope);
HttpTransportSE _ht = new HttpTransportSE(Configuration.getWsUrl());
_ht.call("", _envelope);
return _envelope.getResponse().toString();
}
当我使用Eclipse在PC上的本地服务器上使用它时,它可以正常工作。
但是当我部署它时,我得到:
expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <html>@1:6 in java.io.InputStreamReader@4056fb48)
有人可以帮忙吗?我已经面对了一个多星期.........
最佳答案
好吧,我认为NAMESPACE字符串应该是SoapObject构造函数中的第一个参数。与call()方法相同(此处应为NAMESPACE + METHOD_NAME作为第一个参数)
尝试一下:
_envelope.setOutputSoapObject(_client);
代替这个:
_envelope.bodyOut = _client;
要获得响应:取决于您的Web服务返回什么(原始或复杂对象?)