The Android platform has reached a determining sharing on the mobile market by the year 2013 due to its low cost devices and the quality that is ensured by Google. These facts, and the supported Java development have made me to implement my thesis on the Android platform.
Since more and more variaties of platforms are present in the world, it is advised to provide an interoperational communication between them, which can be used by every device. Webservices are created to solve this problem. There are many solutions for providing webservices (e.g. the Java based JAX-WS, the .NET based WCF or the nusoap library in PHP), but the Android platform has not yet provided a unified solution that is compatible with all of the servers and clients of the above mentioned platforms.
This thesis presents the implementation of the client side of a webservice framework that has been created in part of a cooperative development with my partner, Daniel Bakos. Since the server created by my partner could not be implemented with JAX-WS, and the currently present Android based client on the market (kSOAP2 library) is not extendable by new WS specifications arbitrarily has motivated me to implement a brand new webservice client that is compatible with other webservice servers and easily extendable and modular. The basic function of the client is sending its request to the webservice servers in SOAP messages and receiving the answers in the SOAP responses.
During the accomplishment of this thesis, I have implemented three WS specifications (WS-*) beside the client side of the webservice framework: WS-Addressing, SOAP-over-UDP and the UsernameToken which is part of the WS-Security.
This paper contains the description of the packages, classes and the description of their main variables and functions which are created during the implementation of the webservice client. The dynamic operation of the client is presented through sequence diagrams, and I also made a chapter about testing the client with the server implemented by my partner, and testing it with a JAX-WS based server and with other online available Webservice Definition Language (WSDL) files.