Please I want you make sure to assign my order to the best programmer you have, not to beginner one as I do not have lots of time. Also, please make sure you follow my structures and do it excellent. The assignment use tomcat and axis to do it. Using java language. Important Please follow the example to do it. Therefore, please do it on time and do it excellent, by following the instructors bellow.

oralwideServers

Nov 17, 2013 (3 years and 8 months ago)

71 views

Please I want you make sure to assign my order to the best programmer
you have, not to beginner one as I do not have lots of time. Also, please
make sure you follow my structures and do it excellent.


The assignment use tomcat and axis to do it.

Using j
ava language.

Important
Please follow the example to do it
.

Therefore, please do it on
time and do it excellent, by following the instructors bellow.


You should work through the example given for Java Web Services and SOAP.

It leads you through
setting u
p a Tomcat server to deploy web

services and shows you how to use the AXIS tools to
generate a WSDL and stub code for the clients. It

also shows you how to set up your environment to
work correctly with Tomcat, AXIS
.


The example as the following:


1
-
For
the following examples, the ‘client’ can

be any Java process. The ‘server’ requires a

Java web application server


we will use

Tomcat.


2
-
Downloads required

• Tomcat:

http://apache.mirror.aussiehq.net.au/tomcat/tomcat
-
7/

v7.0.20/bin/apache
-
tomcat
-
7.0.20.zip


• AXIS:

http://apache.mirror.aussiehq.net.au/ws/axis/1_4/axis
-
bin
-
1_4.zip


3
-
Setting up the server



Extract the
apache
-
tomcat
-
7.0.20.zip
ZIP file to
u:
\



This will give you a
u:
\
apache
-
tomcat
-
7.0.20
folder.

Rename it to
u:
\
tomcat



Extract the
axis
-
bin
-
1_4.zip
to
u:
\



This will give you a
u:
\
axis
-
1_4
. Rename it to
u:
\
axis



Copy the
u:
\
axis
\
webapps
\
axis
\

folder to

the
u:
\
tomcat
\
webapps
folder


Open up a Command Prompt and run

• u:
\
tomcat
\
bin
\
startup.bat


Browse to
http://localhost:8080/axis
/



Select the ‘validation’ option and ensure that

all the required components are found



Your application server is now ready

to accept

deployment of SOAP services


Now to write the server
-
side object defining

the methods you wish to expose via the

SOAP Service

• The service
-
side object is just a standard

Java class


public class HelloWorld

{


public String sayHello()


{


return “Hello World”;


}

}


Compile the class to ensure there are no

errors

• We will be using the ‘Java Web Service’ to

deploy our new web service so the class file

actually is
not needed
.


Copy your
HelloWorld.java
file to
u:
\
tomcat
\
webapps
\
axis
\
HelloWorld.
jws

• Navigate to

http://localhost:8080/axis/HelloWorld.jws

• Done !


Java Web Services provides a quick, easy

way to deploy small web services

• More complex services can be deployed

using the command line deployment tool
s

provided by
AXIS

• Manual deployment requires you to write a

‘Deployment Descriptor
.


Navigate to



http://localhost:8080/axis/HelloWorld.jws?wsdl

• This is the interface definition for our web service.

You would distribute this file to people wishing to

use your web service.

• The WSDL not only defines the interface, but also

declares the network address of your server.


Download the WSDL file

• First we must create a ‘skeleton’ that our

client can talk to

• AXIS provides a ‘
WSDL2Java
’ tool to do this


C
reate a new folder for your source code, outside of the

Tomcat directory structure, called
u:
\
soap_client
\



Copy the WSDL file into this folder and call it
mywsdl.xml



Copy
u:
\
axis
\
lib
\
log4j.properties
into
u:
\
soap_client
\



Add the following entries to your classpath environment

variable

• u:
\
axis
\
lib
\
axis.jar;u:
\
axis
\
lib
\
commonsdiscovery
-

0.2.jar;u:
\
axis
\
lib
\
commons
-
logging
-
1.0.4.jar;u:

\
axis
\
lib
\
jaxrpc.jar;u:
\
axis
\
lib
\
log4j
-
1.2.8.jar;u:
\
axis
\
lib

\
saaj.jar;u:
\
axis
\
lib
\
wsdl
4j
-
1.5.1.jar



Change to your
u:
\
soap_client
folder and run
java

org.apache.axis.wsdl.WSDL2Java
mywsdl.xml



This will generate a folder called
localhost
containing stub

code



Compile the stub code

• cd localhost
\
axis
\
HelloWorld_jws
\

• javac *.java



Create a new Java file in
u:
\
soap_client

called
HelloWorldClient.java



Now write your client code


import localhost.axis.HelloWorld_jws.*;

public class HelloWorldClient

{


public static void main(String[] args)


{


try


{


HelloWorldService

hws = new HelloWorldServiceLocator();


HelloWorld hw = hws.getHelloWorld();


System.out.println(hw.sayHello());


}


catch (Exception e)


{


e.printStackTrace();


}


}

}


Compile and run your client (you can

ignore the
attachment support warnings)

$ set CLASSPATH=.;%CLASSPATH%

$ javac HelloWorldClient.java

$ java HelloWorldClient

Hello World






Assignment Task

You are to develop a pair of Web Services, complete with matching WSDLs and client software,
which

implement t
he functions of a Local Time Converter (LTC) service. A Local Time Converter service

allows users to provide the Local Time (e.g. 13:30) at one location (e.g. SYDNEY) and be provided
the time at another (e.g. AMSTERDAM


in which case the time would be 05:
30). It is usual for such

services to keep information relating the difference (e.g. SYDNEY is +10, AMSTERDAM is +2) at

each time location relative to the time at Greenwich (which is called Greenwich Mean Time or GMT

(or UTC)).


The first Web Service (called
MyLTCServer
) presents an API for the service’s users. This API

allows the following unauthenticated functions:



Retrieve the time offset (relative to GMT) for a specific location

(
double currentOffset(String location)
)

Returns a
double
representing the time offset
relative to GMT
for the provided location.


Retrieve a list of currently supported locations (
String listLocations()
)

Returns a
String
containing each of the currently supported locations, separated by

\
n”
.



Convert a time in one location to the time in another

(
String convert(String from, String to, String time)
)

Returns a
String
representing what time it is in the location
to
when it is
time
in the

location
from
. The String representing
time
, and the return

String, will be in the format

HH:MM (with leading zero on the HH if necessary).


The second Web Service (called
MyLTCAdmin
) presents an API for the service administrator.
This

API allows the following authenticated functions
:



Add a new location to the
system with its current time offset relative to GMT

(
boolean addLocation(String user, String pwd,

String location, double offset)
)

Returns
false
if the location already existed or the user credentials are invalid,
true
if the

new location has been added.



Update the time offset for a specific location (for example when Daylight Saving Time

commences or ceases for the location)

(
boolean setOffset(String user, String pwd,

String location, double offset)
)

Returns
false
if the location does not exist or the user credentials are invalid,
true
if the

location exists and has been updated.


Retrieve the number of client web service calls performed
on either interface
since the server

started

(
int callCount(String user, Strin
g pwd)
)

Returns
-
1
if the user credentials are invalid, otherwise returns the total number of calls

(including this one) on either of the server interfaces.


Note that
, as reflected above, the administrator web service requires a username (
user
) and
passwo
rd (
pwd
) to be passed with each web service call. The server should validate this username
and password before performing any requests. You should hard
-
code an administrator username of

admin
’ and a matching password of ‘
converter
’.


To match these two we
b services, you will generate matching WSDL files and implement two sample

command
-
line based clients


one for the standard user (
MyUserClient
) and one for the

administrator (
MyUserAdmin
).


The command
-
line clients will allow each of the above
-
listed func
tions to be performed, passing in the

required parameters from the command line. For example, you may implement the “Retrieve the

current time offset for a specific location” function call by executing the command:


java MyUserClient currentOffset SYDNEY


The server’s starting set of time offsets may be hard
-
coded as follows:

Offset relative to Greenwich = +10 (SYDNEY)

= +2 (AMSTERDAM)

=
-
7 (LOS ANGELES)

= +8 (BEIJING)


The server stores the list of supported locations, their corresponding time offsets rela
tive to GMT, and

the number of user web service calls performed
in memory. It does not need to render them
persistent

by storing them to disk.


You should provide all your .java files and the WSDL files. Also provide a readme.txt file containing
any instructions. Also, the code must be
well
commented

each line and each method and each
variables .
Each program file should have a proper header

a
nd co
mmented.