0

こんにちは、Android から Web サービスを呼び出そうとしています。コードはエラーなしで正常に動作していますが、出力が得られません。私はアンドロイドが初めてです。私を助けてください。

チュートリアル全体はこちら....

3 つのボタンclear buttonはうまく機能しますが、両方とも機能convert to celsiusconvert to fahrenheitません。実際には、try ブロックの両方にステートメントがあります

SoapObject result = (SoapObject)envelope.bodyIn;

各ステートメントの後にビルダー メッセージを表示したため、この行でアプリケーションが動かなくなったと思いますが、このステートメントの後には表示されませんでした。何が問題なのか教えてください、私は本当に心配しています..

4

1 に答える 1

0

このクラスを使用して Web サービスを呼び出してみてください。

public class WSRequest {

    public HttpTransportSE androidHttpTransport;
    public SoapSerializationEnvelope envelope; 
    public String methodName;
    public SoapObject request;

    public WSRequest(String methodName)
    {
        this.methodName = methodName;
        this.request = new SoapObject(SRWebServer.NAMESPACE, methodName);
        envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.implicitTypes = true;
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);

        androidHttpTransport = new HttpTransportSE(SRWebServer.URL);
    }

    public void RegisterMarshal()
    {
        MarshalBase64 marshal = new MarshalBase64();
        marshal.register(envelope);
    }

    public SoapObject Send() throws IOException, XmlPullParserException 
    {
        System.setProperty("http.keepAlive", "false");
        new MarshalDate().register(envelope);
        this.androidHttpTransport.call(SRWebServer.NAMESPACE + this.methodName, envelope);
        return (SoapObject) this.envelope.getResponse();
    }



    public void AddProperties(String name, Object value)
    {
        this.request.addProperty(name, value);

    }
        // 

}

このように使用します:

WSRequest request =  new WSRequest("method name here");
request.addProperties("property1Name",property1);
request.Send();

requestSend()Web サービスから受け取ったオブジェクトを含む SoapObject を返します。

于 2013-01-24T09:38:06.057 に答える