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 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试