Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.io.IOException:HTTP请求失败,HTTP状态:500在android中使用WCF for android_Java_Android_Web Services_Wcf_Ksoap2 - Fatal编程技术网

java.io.IOException:HTTP请求失败,HTTP状态:500在android中使用WCF for android

java.io.IOException:HTTP请求失败,HTTP状态:500在android中使用WCF for android,java,android,web-services,wcf,ksoap2,Java,Android,Web Services,Wcf,Ksoap2,我一直试图从wcf.net Web服务获取数据响应,但未能获得正确的响应。从2天开始,在连接Web服务期间获取此错误 我也检查了SoapEnvelope.VER11,但无法获取数据。 public class MainActivity extends Activity { private static final String METHOD_NAME = "SayHello"; private static final String NAMESPACE = "http://tempuri.o

我一直试图从wcf.net Web服务获取数据响应,但未能获得正确的响应。从2天开始,在连接Web服务期间获取此错误

我也检查了SoapEnvelope.VER11,但无法获取数据。

public class MainActivity extends Activity {

private static final String METHOD_NAME = "SayHello";

private static final String NAMESPACE = "http://tempuri.org/IWFPService/";
private static final String URL = "http://*****.svc";

private static final String SOAP_ACTION = NAMESPACE+METHOD_NAME;
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.test);
    AsyncTaskRunner runner = new AsyncTaskRunner();
    runner.execute();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
private class AsyncTaskRunner extends AsyncTask<String, String, String> {

    private String resp;
    @Override
    protected String doInBackground(String... params) {
        publishProgress("Loading contents..."); // Calls onProgressUpdate()
        try {
            // SoapEnvelop.VER11 is SOAP Version 1.1 constant
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER12);
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
            //request.addProperty("TestNumber", 12);
            //bodyOut is the body object to be sent out with this envelope
            envelope.bodyOut = request;
            envelope.dotNet = true;
            Log.e(SOAP_ACTION, "-->URL>"+URL);
            Log.e(SOAP_ACTION, "-->METHOD_NAME>"+METHOD_NAME);
            Log.e(SOAP_ACTION, "-->SOAP_ACTION>"+SOAP_ACTION);
            Log.e(SOAP_ACTION, "-->envelope>"+envelope);
             Log.v("", "=========== Request : " + request);
            HttpTransportSE transport = new HttpTransportSE(URL);
            try {
                transport.call(SOAP_ACTION, envelope);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                e.printStackTrace();
            }
            //bodyIn is the body object received with this envelope
            if (envelope.bodyIn != null) {
                //getProperty() Returns a specific property at a certain index.
                SoapPrimitive resultSOAP = (SoapPrimitive) ((SoapObject) envelope.bodyIn)
                        .getProperty(0);
                resp=resultSOAP.toString();
                Log.e(SOAP_ACTION, "-->>"+resp);
            }
            Log.e(SOAP_ACTION, "<<<-->>"+resp);
        } catch (Exception e) {
            e.printStackTrace();
            resp = e.getMessage();
        }
        return resp;
    }

    /**
     * 
     * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
     */
    @Override
    protected void onPostExecute(String result) {
        // execution of result of Long time consuming operation
        // In this example it is the return value from the web service
        textView.setText(resp);
    }

    /**
     * 
     * @see android.os.AsyncTask#onPreExecute()
     */
    @Override
    protected void onPreExecute() {
        // Things to be done before execution of long running operation. For
        // example showing ProgessDialog
    }

    /**
     * 
     * @see android.os.AsyncTask#onProgressUpdate(Progress[])
     */
    @Override
    protected void onProgressUpdate(String... text) {
        textView.setText(text[0]);
        // Things to be done while execution of long running operation is in
        // progress. For example updating ProgessDialog
    }
}
公共类MainActivity扩展活动{
私有静态最终字符串方法\u NAME=“SayHello”;
私有静态最终字符串命名空间=”http://tempuri.org/IWFPService/";
私有静态最终字符串URL=“http://*****.svc”;
私有静态最终字符串SOAP\u ACTION=名称空间+方法\u名称;
私有文本视图文本视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=(textView)findViewById(R.id.test);
AsyncTaskRunner=新建AsyncTaskRunner();
runner.execute();
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.activity\u主菜单);
返回true;
}
私有类AsyncTaskRunner扩展了AsyncTask{
私有字符串resp;
@凌驾
受保护的字符串doInBackground(字符串…参数){
publishProgress(“加载内容…”);//调用onProgressUpdate()
试一试{
//SOAPEnvelope.VER11是SOAP版本1.1常量
SoapSerializationEnvelope=新的SoapSerializationEnvelope(
第12版);
SoapObject请求=新的SoapObject(名称空间、方法名称);
//请求。addProperty(“TestNumber”,12);
//bodyOut是要与此信封一起发送的body对象
envelope.bodyOut=请求;
envelope.dotNet=true;
Log.e(SOAP_操作,“-->URL>”+URL);
Log.e(SOAP\u操作,“-->METHOD\u NAME>”+METHOD\u NAME);
Log.e(SOAP\u ACTION,“-->SOAP\u ACTION>”+SOAP\u ACTION);
Log.e(SOAP_操作,“-->信封>”+信封);
Log.v(“,”================请求:“+请求);
HttpTransportSE传输=新的HttpTransportSE(URL);
试一试{
传输呼叫(SOAP_动作、信封);
}捕获(IOE异常){
e、 printStackTrace();
}catch(XMLPullParseRexE){
e、 printStackTrace();
}
//bodyIn是使用此信封接收的body对象
if(envelope.bodyIn!=null){
//getProperty()返回特定索引处的特定属性。
SoapPrimitive结果SOAP=(SoapPrimitive)((SoapObject)信封.bodyIn)
.getProperty(0);
resp=resultSOAP.toString();
Log.e(SOAP_ACTION,“-->”+resp);
}

Log.e(SOAP_ACTION,“Well..HTTP 500是一个内部服务器错误,因此您可能应该检查服务器是否正在使用SOAPUI或其他一些工具进行启动。然后确保您可以访问URL(本例中为IP号)然后开始调试ksaop呼叫。

两个标题几乎相同的问题在两个小时内从不同的用户处发布……令人毛骨悚然!
04-16 12:10:41.363: E/http://tempuri.org/IWFPService/SayHello(22684): -->URL>http://192.168.169.133/WFPeWin2/content/WFPService.svc
04-16 12:10:41.363: E/http://tempuri.org/IWFPService/SayHello(22684): -->METHOD_NAME>SayHello
04-16 12:10:41.363: E/http://tempuri.org/IWFPService/SayHello(22684): -->SOAP_ACTION>http://tempuri.org/IWFPService/SayHello
04-16 12:10:41.363: E/http://tempuri.org/IWFPService/SayHello(22684): -->envelope>org.ksoap2.serialization.SoapSerializationEnvelope@4212da18
04-16 12:10:41.363: V/(22684): =========== Request : SayHello{}
04-16 12:10:41.598: W/System.err(22684): java.io.IOException: HTTP request failed, HTTP status: 500
04-16 12:10:41.598: W/System.err(22684):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:195)
04-16 12:10:41.598: W/System.err(22684):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
04-16 12:10:41.598: W/System.err(22684):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)
04-16 12:10:41.598: W/System.err(22684):    at com.example.samplews.MainActivity$AsyncTaskRunner.doInBackground(MainActivity.java:67)
04-16 12:10:41.598: W/System.err(22684):    at com.example.samplews.MainActivity$AsyncTaskRunner.doInBackground(MainActivity.java:1)
04-16 12:10:41.598: W/System.err(22684):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
04-16 12:10:41.598: W/System.err(22684):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
04-16 12:10:41.598: W/System.err(22684):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-16 12:10:41.598: W/System.err(22684):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
04-16 12:10:41.598: W/System.err(22684):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
04-16 12:10:41.598: W/System.err(22684):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
04-16 12:10:41.598: W/System.err(22684):    at java.lang.Thread.run(Thread.java:856)
04-16 12:10:41.598: E/http://tempuri.org/IWFPService/SayHello(22684): <<<-->>null