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 无法将ksoap2与Eclipse一起使用_Java_Android_Eclipse_Soap_Ksoap2 - Fatal编程技术网

Java 无法将ksoap2与Eclipse一起使用

Java 无法将ksoap2与Eclipse一起使用,java,android,eclipse,soap,ksoap2,Java,Android,Eclipse,Soap,Ksoap2,我想在Android中使用库ksoap2来发送和接收SOAP消息,但我无法让它在Eclipse中工作。它一直给我一条消息SoapObject无法解析为类型。我复制了我从中获得的类Soap的代码(首先让它工作,然后根据需要编辑它),并使用了从中导入的代码。我对Android开发、Java和Eclipse不是很有经验,所以我可能忽略了一些东西 package com.example.myapp; import android.content.Context; import org.ksoap2

我想在Android中使用库ksoap2来发送和接收SOAP消息,但我无法让它在Eclipse中工作。它一直给我一条消息
SoapObject无法解析为类型
。我复制了我从中获得的类
Soap
的代码(首先让它工作,然后根据需要编辑它),并使用了从中导入的代码。我对Android开发、Java和Eclipse不是很有经验,所以我可能忽略了一些东西

package com.example.myapp;  
import android.content.Context; 
import org.ksoap2.transport.HttpTransportSE;
import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapSerializationEnvelope;

public class Soap {
    Context context;    
    int viPeriod;
    String vsUserID;
    String NAMESPACE = "http://localhost/soap/";
    String SOAP_ACTION = "http://localhost/soap/bin/SOAP.dll";
    String METHOD_NAME = "SOAP";    
    public String result = null;
    Object resultRequestSOAP = null;

    public Soap(Context context) {
        this.context = context;
    }

    public void SendSoap() {
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);    
        request.addProperty("viPeriod", viPeriod);
        request.addProperty("vsUserID", vsUserID);  
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);  
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        androidHttpTransport.debug = true;

        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            String requestDumpString = androidHttpTransport.requestDump;
            System.out.println("requestDump : " + requestDumpString);

            resultRequestSOAP = envelope.getResponse(); // Output received
            result = resultRequestSOAP.toString(); // Result string

            System.out.println("OUTPUT : " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
Eclipse 4.2.2中项目的libs文件夹中有文件
ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar

我做错了什么?你能给我指一下正确的方向吗?或者建议我以不同的方式解决这个问题


提前谢谢,Dediqated。

我认为您在lib文件夹中添加了ksoap2 jar文件,将其移动到libs文件夹,然后清理项目。这将解决问题

SoapAction应该包含命名空间和方法名

例如:名称空间=”http://sample/";

方法\u NAME=“sampleMethod”

SOAP\u ACTION=名称空间+方法\u名称


检查响应是soap原语还是soap对象。

否我直接将其下载到了libs文件夹中。我刚刚清理了这个项目,但仍然存在同样的问题。这并不能解决任何问题,因为Eclipse没有找到SoapObject。它下面只显示了一条曲线。如果你的adt为17,你是否创建了libs文件夹?请参考此我在创建项目时已经有了libs文件夹。我只使用Eclipse大约两个月,所以我有21.1版的ADT