android - 在何处查看生成的 XML (KSOAP2)

标签 android jax-ws ksoap2

我很难尝试使用我的 SoapRequest 查看生成的 XML。这是我的代码:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

        PropertyInfo propInfo=new PropertyInfo();
        propInfo.setName("arg0");
        propInfo.setType(PropertyInfo.STRING_CLASS);
        propInfo.setValue(sessionId);

        request.addProperty(propInfo);

        // Sending the array representing our board:

        Fields fieldsVector = new Fields();

        for (int i=0; i<65; i++) {

            fieldsVector.add(move[i].toString());

        }

        PropertyInfo fieldsPropertyInfo = new PropertyInfo();
        fieldsPropertyInfo.setName("fields");
        fieldsPropertyInfo.setValue(fieldsVector);
        fieldsPropertyInfo.setType(fieldsVector.getClass());

        request.addProperty(fieldsPropertyInfo);

        PropertyInfo sessionPropertyInfo = new PropertyInfo();
        sessionPropertyInfo.setName("arg0");
        sessionPropertyInfo.setType(PropertyInfo.STRING_CLASS);
        sessionPropertyInfo.setValue(sessionId);
        request.addProperty(sessionPropertyInfo);

        envelope.setOutputSoapObject(request);

        envelope.addMapping(NAMESPACE, "fields", new Fields().getClass());

        HttpTransportSE androidHttpTransport = new HttpTransportSE(WSDL_URL);
        // androidHttpTransport.debug = true;


        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
        } catch (Exception e) {
            throw new RuntimeException("Unexpected exception", e);
        }

        try {
            SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
        } catch (SoapFault e) {
            System.out.println("Error adding move: " + e.faultstring);//można to ładnie jakoś pokazać na ekranie
            throw e;
        }
    }

如您所见,我已尝试设置 Debug模式,但它不起作用。我应该在哪里能够看到输出?

最佳答案

您几乎找到了答案,设置 androidHttpTransport.debug = true 并像这样调用 dump xml:

   androidHttpTransport.debug = true;
   androidHttpTransport.call(SOAP_ACTION, envelope);
   Log.d("dump Request: " ,androidHttpTransport.requestDump);
   Log.d("dump response: " ,androidHttpTransport.responseDump);

关于android - 在何处查看生成的 XML (KSOAP2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14310004/

相关文章:

android - 为什么 Main Activity 有一个 intent 过滤器?

java - JSON Jackson + HTTPClient 带有德语变音符号

spring - 使用 spring 加载带有 jersey/jax-ws 的 jetty 时,ServletContext 为 null

java - 如何将命名空间属性添加到 ksoap 信封?

android - 为什么我的 Android Listview 不滚动?

web-services - 使用Delphi调用UPS包裹追踪Web服务吗?

java - 为什么我得到 Method CacheXXXX is exposed as WebMethod, but thereis no corresponding wsdl operation 如果 wsdl 没有改变?

android - 在 android 中解析 KSoap2 响应

android - 如何在android中使用kso​​ap超时?

android - 在同一 Activity 中按下后退键,将一个 viewpager 的 fragment 替换为另一个 viewpager 的 fragment