【问题标题】:How to print Android soap XML request如何打印 Android 肥皂 XML 请求
【发布时间】:2016-04-25 03:48:51
【问题描述】:

我需要为请求打印 XML,而不是响应。

对象响应 = null;

    String METHOD_NAME = "GenerateOtp";// GenerateOTP

    String NAMESPACE = "http://com/abc/ppi";

    String URL = "http://name.com/methodname/";

    // String SOAP_ACTION = NAMESPACE+"/"+METHOD_NAME ;

    String SOAP_ACTION = "";

    try {

        // String xml = xmlns="java:com.abc.ppi.request" ;

        SoapObject RequestParent = new SoapObject("", METHOD_NAME);

        SoapObject Request1 = new SoapObject("", "request");

        PropertyInfo pi = new PropertyInfo();
        pi.setNamespace("http://com/abc/ppi");
        pi.setName("DeviceId");
        pi.setValue(DeviceId);
        Request1.addProperty(pi);

        pi = new PropertyInfo();
        pi.setNamespace("http://com/abc/ppi");
        pi.setName("DeviceType");
        pi.setValue(DeviceType);
        Request1.addProperty(pi);

        SoapObject HeaderRequest = new SoapObject("","HeaderTag");

        pi = new PropertyInfo();
        pi.setNamespace("java:com.abc.ppi.request");
        pi.setName("MobileNo");
        pi.setValue(MobileNo);
        HeaderRequest.addProperty(pi);

        Request1.addSoapObject(HeaderRequest);

        RequestParent.addSoapObject(Request1);

        Log.v("upi", "RequestParent:" + RequestParent);

SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

soapEnvelope.dotNet = false;

soapEnvelope.setOutputSoapObject(RequestParent);

HttpTransportSE transport = new HttpTransportSE(URL);

transport.call(SOAP_ACTION, soapEnvelope);

response = (Object) soapEnvelope.getResponse();

使用的罐子:ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar 安卓 注意:我想像这样将这个 xml soap 请求打印成 XML FORMAT.. 在向soap webservices发出请求之前,我需要查看这个xml请求。我可以从webservices java服务器端看到这个请求格式。但是,我想从 Android 客户端看到这个请求。 ? ? ?

【问题讨论】:

    标签: android web-services xmlhttprequest ksoap2


    【解决方案1】:
    public static void printXML(Document document, OutputStream output) throws IOException, TransformerException {
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
    
        transformer.transform(new DOMSource(document), 
             new StreamResult(new OutputStreamWriter(output, "UTF-8"))); }
    

    【讨论】:

    • 对你的回答有什么解释吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多