java - 发送到 SOAP 不起作用

标签 java android web-services soap

我有 android 代码,其中有两个从 HashMap Key 和 value 获取的整数变量。

我试图将这两个变量传递给 SOAP Web 服务,但什么也没发生。

注释 1:我确信我的 WebService 代码正在工作,并且将正确的数据输入到数据库中,我已经对其进行了测试。

注释 2:FROM debug 显示“SID”和“status”具有正确的值。

但是将这些值发送到 SOAP 时出现问题。

android Activity 中的完整 SOAP 代码:

sumbit.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            for (Map.Entry<Integer, Integer> mapEntry : checkBoxState
                    .entrySet()) {
                int SID = mapEntry.getKey();
                int status = mapEntry.getValue();

                Toast.makeText(context,
                        String.valueOf(SID) + String.valueOf(status),
                        Toast.LENGTH_SHORT).show();
                try {
                    SoapObject request = new SoapObject(NAMESPACE,
                            METHOD_NAME);
                    HttpTransportSE androidHttpTransport = new HttpTransportSE(
                            URL);
                    PropertyInfo pi = new PropertyInfo();
                    pi.setName("SID");
                    pi.setValue(SID);
                    pi.setType(Integer.class);
                    request.addProperty(pi);

                    PropertyInfo pi2 = new PropertyInfo();
                    pi2.setName("status");
                    pi2.setValue(status);
                    pi2.setType(Integer.class);
                    request.addProperty(pi2);

                    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                            SoapEnvelope.VER11);
                    envelope.setOutputSoapObject(request);
                    androidHttpTransport.call(SOAP_ACTION, envelope);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (XmlPullParserException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


            }

完整的 webService 方法代码:

public void insertApsentData(int SID , int status ) throws SQLException, ClassNotFoundException, ReflectiveOperationException, Throwable{

// Make new Connection to database .
Dbconnection NewConnect = new Dbconnection();
Connection con = NewConnect.MakeConnect();
Statement stmt = con.createStatement();

// this i'm usre is working fine 
stmt.executeUpdate("INSERT INTO apsent SET course_id=1, teacher_id= 1 , class_id= 3 , interval_id= 5 , day_id = 1 , APSSENT_DATE = CURdate() ,state = " + status + ", student_id = " + SID +" ,school_id = 1;");//called the procedure


     }

最佳答案

我以前也遇到过这个问题。您是否尝试过使用 eclipse? 生成 wsdl (参见第 6 页)。该工具生成 Web 服务的客户端代码,并可以轻松调用诸如

ServiceProxy.insertApsentData(args)

关于java - 发送到 SOAP 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797284/

相关文章:

java - FTP 上传错误 "553 Could not create file"

java - 当 Maven 中显示以下 Artifact 无法解析(尽管它们位于 Maven 缓存中)时,这是什么意思?

javascript - 屏幕宽度 Javascript 不适用于所有 Android 设备

java - 在 android 和 java 项目之间共享源代码

android - 检测双 SIM 卡 Android 手机中两张 SIM 卡的状态

web-services - 面向服务架构中的集中身份验证

javascript - 值未进入文本框

java - Struts2标签插入<br>

java - 在 Java 中使用 WCF WsHttpBinding WebService

web-services - Glassfish JAX-WS 并排 SSL/不安全的 EJB Web 服务