Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7185213
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T18:22:02+00:00 2026-05-28T18:22:02+00:00

I use XML-RPC Server and client with android application from this link: http://www.codeforest.net/how-to-build-php-xml-rpc-server-client-and-android-app communication

  • 0

I use XML-RPC Server and client with android application from this link: http://www.codeforest.net/how-to-build-php-xml-rpc-server-client-and-android-app communication is through HTTP. Can you explain me what and where I must change in Android code to communicate through HTTPS. Thanks (I read many articles on stackoverflow, but I can´t know how to use it in my android code)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T18:22:03+00:00Added an answer on May 28, 2026 at 6:22 pm

    This is my solution and it´s work fine:

    //In class XMLRPCClient
        public XMLRPCClient(URI uri) {
                        SchemeRegistry registry = new SchemeRegistry();
                        registry.register(new Scheme("http", new PlainSocketFactory(),
                                80));
                        registry.register(new Scheme("https", new EasySSLSocketFactory(), 443));
    
                        postMethod = new HttpPost(uri);
                        postMethod.addHeader("Content-Type", "text/xml");
    
                        // WARNING
                        // I had to disable "Expect: 100-Continue" header since I had 
                        // two second delay between sending http POST request and POST body 
                        httpParams = postMethod.getParams();
                        HttpProtocolParams.setUseExpectContinue(httpParams, false);
                        this .client = new DefaultHttpClient(
                                new ThreadSafeClientConnManager(httpParams, registry),
                                httpParams);
                    }
    

    And must add to org.xmlrpc.android 2 classes EasySSLSocketFactory and EasyX509TrustManager

    EasySSLSocketFactory:

    package org.xmlrpc.android;
    
    /*
     * Licensed to the Apache Software Foundation (ASF) under one
     * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
     * "License"); you may not use this file except in compliance
     * with the License.  You may obtain a copy of the License at
     *
     *   http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing,
     * software distributed under the License is distributed on an
     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     * KIND, either express or implied.  See the License for the
     * specific language governing permissions and limitations
     * under the License.
     */
    
    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.InetSocketAddress;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    import javax.net.ssl.SSLContext;
    import javax.net.ssl.SSLSocket;
    import javax.net.ssl.TrustManager;
    
    import org.apache.http.conn.ConnectTimeoutException;
    import org.apache.http.conn.scheme.LayeredSocketFactory;
    import org.apache.http.conn.scheme.SocketFactory;
    import org.apache.http.params.HttpConnectionParams;
    import org.apache.http.params.HttpParams;
    
    /**
     * This socket factory will create ssl socket that accepts self signed certificate
     *
     * @author olamy
     * @version $Id: EasySSLSocketFactory.java 765355 2009-04-15 20:59:07Z evenisse $
     * @since 1.2.3
     */
    public class EasySSLSocketFactory implements SocketFactory, LayeredSocketFactory {
    
        private SSLContext sslcontext = null;
    
        private static SSLContext createEasySSLContext() throws IOException {
            try {
                SSLContext context = SSLContext.getInstance("TLS");
                context.init(null, new TrustManager[] { new EasyX509TrustManager(null) }, null);
                return context;
            } catch (Exception e) {
                throw new IOException(e.getMessage());
            }
        }
    
        private SSLContext getSSLContext() throws IOException {
            if (this.sslcontext == null) {
                this.sslcontext = createEasySSLContext();
            }
            return this.sslcontext;
        }
    
        /**
         * @see org.apache.http.conn.scheme.SocketFactory#connectSocket(java.net.Socket, java.lang.String, int,
         *      java.net.InetAddress, int, org.apache.http.params.HttpParams)
         */
        public Socket connectSocket(Socket sock, String host, int port, InetAddress localAddress, int localPort,
                HttpParams params) throws IOException, UnknownHostException, ConnectTimeoutException {
            int connTimeout = HttpConnectionParams.getConnectionTimeout(params);
            int soTimeout = HttpConnectionParams.getSoTimeout(params);
            InetSocketAddress remoteAddress = new InetSocketAddress(host, port);
            SSLSocket sslsock = (SSLSocket) ((sock != null) ? sock : createSocket());
    
            if ((localAddress != null) || (localPort > 0)) {
                // we need to bind explicitly
                if (localPort < 0) {
                    localPort = 0; // indicates "any"
                }
                InetSocketAddress isa = new InetSocketAddress(localAddress, localPort);
                sslsock.bind(isa);
            }
    
            sslsock.connect(remoteAddress, connTimeout);
            sslsock.setSoTimeout(soTimeout);
            return sslsock;
    
        }
    
        /**
         * @see org.apache.http.conn.scheme.SocketFactory#createSocket()
         */
        public Socket createSocket() throws IOException {
            return getSSLContext().getSocketFactory().createSocket();
        }
    
        /**
         * @see org.apache.http.conn.scheme.SocketFactory#isSecure(java.net.Socket)
         */
        public boolean isSecure(Socket socket) throws IllegalArgumentException {
            return true;
        }
    
        /**
         * @see org.apache.http.conn.scheme.LayeredSocketFactory#createSocket(java.net.Socket, java.lang.String, int,
         *      boolean)
         */
        public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException,
                UnknownHostException {
            return getSSLContext().getSocketFactory().createSocket(socket, host, port, autoClose);
        }
    
        // -------------------------------------------------------------------
        // javadoc in org.apache.http.conn.scheme.SocketFactory says :
        // Both Object.equals() and Object.hashCode() must be overridden
        // for the correct operation of some connection managers
        // -------------------------------------------------------------------
    
        public boolean equals(Object obj) {
            return ((obj != null) && obj.getClass().equals(EasySSLSocketFactory.class));
        }
    
        public int hashCode() {
            return EasySSLSocketFactory.class.hashCode();
        }
    
    }
    

    EasyX509TrustManager:

    package org.xmlrpc.android;
    
    import java.security.KeyStore;
    import java.security.KeyStoreException;
    import java.security.NoSuchAlgorithmException;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    
    import javax.net.ssl.X509TrustManager;
    
    class EasyX509TrustManager implements X509TrustManager
    {
        public EasyX509TrustManager(KeyStore keystore) throws NoSuchAlgorithmException, KeyStoreException {
            super();
    
        }
    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException
    {
    
    }
    
    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException
    {
    
    }
    
    @Override
    public X509Certificate[] getAcceptedIssuers()
    {
    return new X509Certificate[0];
    }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to communicate with an XML-RPC server from a .NET 2.0 client. Can
is there any good reason not to use XML-RPC for an object-broker server/client architecture?
I have a planned use of Apache XML RPC Client in a java web
So I have a simple xml-rpc server (xml over http) provided to me to
Does iPhone support XML-RPC, Is their any open source framework which I can use?
I wish to use xml and xsl to generate controls on an asp.net page.
I imagine to use XML serialization like this: class Foo { public Foo (string
We've got an XML-RPC server (implemented in python), and I'm trying to write a
So I'm trying to send an xml-rpc message to moses xml-rpc server in Java,
I'm creating an XML-RPC server in Java using the Redstone XML-RPC library . The

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.