我有以下几点:

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服务返回什么(原始或复杂对象?)

10-07 16:59