java - 调用 WebService Asp.Net 发送参数 JSON

标签 java android json web-services parameters

我正在尝试发送 json 字符串,但是当我调用 WebService 时,他发送了一个 null 参数而不是我的字符串。 当我转到“调试”时,我可以在soapObject属性上看到我的json。但在我的 webService 中,当我从我的 android 应用程序调用时,他总是返回 null

if (json.Equals(null)) {
    return "null";
}

try {
    return json;
    root = JObject.Parse(json);
} catch (Exception e) {
    return e.StackTrace; 
}
return "parseok";

这是我正在使用的代码。

 public class OpcoesActivity extends Activity implements OnClickListener {
      private String cpf;
      private String senha;
      private PontosUsuarioDAO pdao = new PontosUsuarioDAO(this);
      @Override
      protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.opcoeslayout);

           cpf = getIntent().getStringExtra("cpf");
           senha = getIntent().getStringExtra("senha");
           Button importar = (Button) findViewById(R.id.bt_importar);
           importar.setOnClickListener(this);
           Button exportar = (Button) findViewById(R.id.bt_exportar);
           exportar.setOnClickListener(this);
      }

      public void onClick(View v) {

           switch (v.getId()) {
                case R.id.bt_importar:
                     Intent i = new Intent(this, SincronizarActivity.class);
                     i.putExtra("cpf", cpf);
                     i.putExtra("senha", senha);
                     startActivity(i);
                     break;
                case R.id.bt_exportar:
                     new Thread(new Runnable() {
                          public void run() {
                               Gson gson = new Gson();
                               final String json = gson.toJson(pdao.exportaPontosUsuario(cpf));
                               ExportarDados exp = new ExportarDados("{\"teste\":\"java\"}");
                               String b = exp.ExportaDadosUser();
                          }
                     }).start();
                     break;
                }
           }
      }

这是要导出的类

 public class ExportarDados {
      private static final String SOAP_ACTION = "http://serv.lageo.ufpr.br/EnviaPontosUsuario";
      private static final String METHOD_NAME = "EnviaPontosUsuario";
      private static final String NAMESPACE = "http://serv.lageo.ufpr.br/";
      private static final String URL = "http://200.17.203.150/Caderneta/Sincronizar.asmx";
      private String json;
      private SoapObject soapObject;
      private String result = ""; 

      public ExportarDados(String json) {
           this.json = json;
      }

      public String ExportaDadosUser() {
           String e2;
           try {
                soapObject = new SoapObject(NAMESPACE, METHOD_NAME);
                soapObject.addProperty("json", json);
                SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                soapEnvelope.dotNet = true;
                soapEnvelope.setOutputSoapObject(soapObject);

                HttpTransportSE ht = new HttpTransportSE(URL);
                ht.call(SOAP_ACTION, soapEnvelope);
                SoapPrimitive resultString = (SoapPrimitive) soapEnvelope.getResponse();
                result = resultString.toString();
           } catch(Exception e) {
                e.printStackTrace();
           }

           return result;
      }
 }

最佳答案

这是命名空间。最后不应该有/。所以命名空间是 http://serv.lageo.ufpr.br而不是http://serv.lageo.ufpr.br/ ...

关于java - 调用 WebService Asp.Net 发送参数 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964960/

相关文章:

java - 使用 Stream.lines 返回文件中的 'n' 行

java - 如何在java中绘制水平误差线?

javascript - Ajax-在 PHP 中使用 Json 时出错

javascript - 如何将数组转换成json对象?

java - 隐藏按钮,点击按钮后等待 2 秒再显示

java - Red Hat Linux 上的 Spring 问题

android - 具有不同宽度的不同 View 的高级 StaggeredGridView

android - 错误 : Error: Integer types not allowed (at 'Dimens' with value '1' )

java - 安卓封面

c - 在构建 Pebble 应用程序时,我遇到了一个我无法理解的错误