Hi there,

I am trying to send xml request to a system that accepts it in a particular
format. If I do it using normal urlconnection and bufferdinputstream then it
works correctly. However If I use XMLRPC, the other does not interpret the
request correctly. How do I simulate the same thing in xmlrpc that is
passing my xml as a string parameter so that the other system reads it
correctly.

The main code used by me under both scenarios is pasted below. I am passing
my xml request as a string "xml". This is generated by the same class in
both cases.

Using normal Java classes:
====================

public String send() {
                String response = "";

        try {
                        remoteURL = new URL(host + "/" + url);
            connection = remoteURL.openConnection();
                        System.out.println(connection.toString());
        
        } catch (MalformedURLException mue) {
            return Utils.Error(400, "Error in hostname: "+host+"/"+url+":
"+mue.getMessage());
            
        } catch (InterruptedIOException iioe) {
            // thread died while talking - do a retry
            return Utils.Error(400, "Died while connecting to payandshop: "
+ iioe.getMessage());
            
        } catch (IOException ioe) {
            // other exception - probably config error - stop
            return Utils.Error(400, "Cannot connect to "+host+"/"+url+":
"+ioe.getMessage());
            
        }
        
        connection.setRequestProperty("USER_AGENT", "payandshop.com Connect
V1.0 [Java 1.3.0]");

                // if you need to authenticate with the proxy, uncomment the 
next 
                // two lines and insert the correct usernae and password.
                
                //String authString = "Basic " + 
Base64Encode("username:password");
                //connection.setRequestProperty("Proxy-Authorization", 
authString); 

        
        try {
            connection.setDoOutput(true);
            printwriter = new PrintWriter(connection.getOutputStream());
            printwriter.println(get("xml"));
            printwriter.close();
        } catch (IOException ioe) {
            // can anything here be recoverable? - stop
            return Utils.Error(400, "Error writing xml to payandshop:
"+ioe.getMessage());
            
        }

        try {
            bufferedreader = new BufferedReader(new
InputStreamReader(connection.getInputStream()));
        
            while ((inputLine = bufferedreader.readLine()) != null) {
                response += inputLine;
                        }

            bufferedreader.close();
            
        } catch (IOException ioe) {
            // ????
            return Utils.Error(400, "Error reading xml from payandshop: "+
ioe.getMessage());
        }
        
        return response;
    }



XMLRPC client method:
=================
public String send() throws Exception {
                String response = "";
                XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
                try {
            config.setServerURL(new 
URL("https://epage.payandshop.com/epage.cgi";));
                }
            catch (MalformedURLException mue) {
            return Utils.Error(400, "Error in hostname: "+mue.getMessage());
            }
            config.setEnabledForExtensions(true);  
            config.setConnectionTimeout(60 * 1000);
            config.setReplyTimeout(60 * 1000);
           
            config.setUserAgent("payandshop.com Connect V1.0 [Java 1.3.0]");
        
            XmlRpcClient client = new XmlRpcClient();
            
            // use Commons HttpClient as transport
            client.setTransportFactory(
                new XmlRpcCommonsTransportFactory(client));
            // set configuration
            client.setConfig(config);
            System.out.println("Client configured");
            
            Object[] params = new Object[]{ get("xml") };
            System.out.println("calling server");
            response = (String) client.execute("auth",params);
            System.out.println(response.toString());
            System.out.println("Done");
            
        return response;
    }


Please help me :(

Thanks in advance.
Latika
-- 
View this message in context: 
http://www.nabble.com/XMLRPC-giving-issues-while-sending-the-entire-xml-as-string-parameter-tp22325716p22325716.html
Sent from the Apache Xml-RPC - Dev mailing list archive at Nabble.com.

Reply via email to