0

Webサービスを使用してMsSqlに送信されたデータに対してこのコードを試します。データを手動で送信しようとすると、うまく機能しますが、このコードで送信しようとすると機能しません。戻り値は常に正しい値ですが、mydatabase には送信しません

    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

        PropertyInfo pi = new PropertyInfo();
        pi.setName("DeviceId");
        pi.setValue("mumin burak");
        pi.setType(String.class);
        pi.setNamespace(NAMESPACE);
        request.addProperty(pi);


    request.addProperty("Lat", "21233232");

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.dotNet = true;
    envelope.setOutputSoapObject(request);

    AndroidHttpTransport httpTransport = new AndroidHttpTransport(URL);

    SoapPrimitive result = null;
    try {
        httpTransport.call(SOAP_ACTION, envelope);
        result = (SoapPrimitive) envelope.getResponse();
        twMsg.setText(result.toString());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        twMsg.setText(e.getMessage());
    } catch (XmlPullParserException e) {
        // TODO Auto-generated catch block
        twMsg.setText(e.getMessage());
    }
4

2 に答える 2

2

私はすでにSOAPWSで同じ問題を抱えていました....lat/longと任意のdoubleデータ型の値で...「MarshalFloatクラス」を優先する必要があります
http://seesharpgears.blogspot.in/2010/11/implementing- ksoap-marshal-interface.html

最後に...ロジック全体を変更する必要はありません。しかし、MarshalFloatのインスタンスを作成し、それをエンベロープに登録するだけです。

MarshalFloat md = new MarshalFloat();

md.register(envelope);

于 2012-06-13T12:29:40.723 に答える
0

値を送信doubleするには、ksoapMarshalインターフェースを実装する必要があります。詳細については、こちらをご覧ください:KSOAPマーシャルインターフェイスの実装

于 2012-05-30T14:46:55.723 に答える