KSOAP web服务返回false而不是串 [英] Ksoap webservices returning false instead of string
本文介绍了KSOAP web服务返回false而不是串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不明白为什么KSOAP没有返回字符串,只返回false,这里是code为web服务:
I can not work out why Ksoap is not returning the string and only returning false, here is the code for webservice:
private static final String SOAP_ACTION = "";
private static final String METHOD_NAME = "serverImpService";
private static final String NAMESPACE = "http://server/";
private static final String URL = "http://localhost:9841/server/";
TextView tv;
String results = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.TextView01);
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(Request);
HttpTransportSE aht = new HttpTransportSE(URL);
try {
aht.call(SOAP_ACTION, soapEnvelope);
SoapPrimitive resultsString = (SoapPrimitive)soapEnvelope.getResponse();
results = resultsString.toString();
tv.setText("Message : " + results);
}
catch(Exception e)
{
e.printStackTrace();
}
下面是WDSL文件:
<types></types>
<message name="getMessage"></message>
<message name="getMessageResponse">
<part name="return" type="xsd:string"></part>
</message>
<portType name="webServer">
<operation name="getMessage">
<input message="tns:getMessage"></input>
<output message="tns:getMessageResponse"></output>
</operation>
</portType>
<binding name="serverImpPortBinding" type="tns:webServer">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"></soap:binding>
<operation name="getMessage">
<soap:operation soapAction=""></soap:operation>
<input>
<soap:body use="literal" namespace="http://server/"></soap:body>
</input>
<output>
<soap:body use="literal" namespace="http://server/"></soap:body>
</output>
</operation>
</binding>
<service name="serverImpService">
<port name="serverImpPort" binding="tns:serverImpPortBinding">
<soap:address location="http://localhost:9841/server"></soap:address>
</port>
</service>
</definitions>
所有的服务器它返回的消息
All the server does it return a message
public class serverImp implements webServer {
public String getMessage(){
message = "test";
return message;
}
从Android的结果是:假,我都试过编辑SOAP_ACTION,METHOD_NAME等,没有运气,
The result from the android is: "false", I have tried editing SOAP_ACTION, METHOD_NAME etc with no luck,
任何想法?
推荐答案
试试这个:
Object response = envelope.getResponse();
String result = response.toString();
这篇关于KSOAP web服务返回false而不是串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文