AlloverJandy 2013-06-07 02:49 采纳率: 0%
浏览 3974

Android 调用 wsdl ,在ht.call 出现 source not found

调试出现 在 ht.call 出现source not found,实在搞不懂了,麻烦帮看下

android 代码:

import android.os.Bundle;
import android.app.Activity;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import java.io.IOException;
import android.view.View;
import android.widget.Button;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class MainActivity extends Activity {

private Button btnGet;
private TextView textview;
final static String SERVICE_NS="http://services.safe/";
final static String SERVICE_URL="http://jandy-ms-7673:8080/SafeShopServices/UserNamePort";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnGet=(Button)findViewById(R.id.btnGet);
    textview=(TextView)findViewById(R.id.textview);
    btnGet.setOnClickListener(new GetName());

}


private class GetName implements OnClickListener{
    public void onClick(View v)
    {       
        String methodName="getuserName";

        HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
        ht.debug=true;
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
          SoapObject soop = new SoapObject(SERVICE_NS,methodName);
          soop.addProperty(null);
        envelope.bodyOut=soop;
        try
        {
            ht.call(null,envelope);
            if(envelope.getResponse()!=null)
            {
                textview.setText("123");
            }
            else
                textview.setText("fuck");
        }


        catch(IOException e)
        {
            e.printStackTrace();
        }
        catch(XmlPullParserException e)
        {
            e.printStackTrace();
        }
    }
}

}

wsdl xml:



xsd:schema

/xsd:schema






























  • 写回答

1条回答 默认 最新

  • 桃花岛黄岛主 2013-06-07 03:10
    关注

    调用webservice的方法需要放在一个异步线程中,解决方案如下
    private class DownloadTask extends AsyncTask {
    protected Drawable doInBackground(String... urls) {
    // 此处方你需要调用的方法
    方法名();
    return null;
    }
    protected void onPostExecute(Drawable result) {

       }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器