Listing 1
public void commandAction( Command com,
Displayable dis ) { *
if ( dis == airportMenu &&
com == List.SELECT_COMMAND ) {
// An airport has been selected
}
else if ( dis == servicesMenu &&
com == List.SELECT_COMMAND ) {
// A weather service has been selected
}
else if ( com == backCommand ) {
// The back button returns to airport menu
}
else if ( com == exitCommand ) {
// The exit button exits the midlet
}//end if/else
}//end commandAction(Command, Displayable)
Listing 2
switch( choice ) {
case 0:
SoapObject obj = (SoapObject)
callService( currentAirport, "getSummary" );
if (obj != null ) {
result = "The weather at " +
obj.getProperty(0) + " is " +
obj.getProperty(3) + " with a " +
obj.getProperty(2) + " sky, and wind " +
obj.getProperty(1) + ". The humidity is " +
obj.getProperty(4) + ", the pressure is " +
obj.getProperty(5) + ", and visibility is " +
obj.getProperty(6) + ".";
}//end if (obj != null)
break;
case 1:
result = (String) callService( currentAirport,
"getHumidity" );
break;
case 2:
result = (String) callService( currentAirport,
"getPressure" );
break;
case 3:
result = (String) callService( currentAirport,
"getSkyConditions" );
break;
case 4:
result = (String) callService( currentAirport,
"getTemperature" );
break;
case 5:
result = (String) callService( currentAirport,
"getOb" );
break;
case 6:
result = (String) callService( currentAirport,
"getWind" );
break;
}//end switch();
//display the result
response.setString( result );
display.setCurrent( response );
Listing 3
private Object callService( int choice,
String methodName ) {
Object result = null;
try {
transport = new HttpTransport( serviceUrl,
soapAction + "#" + methodName );
transport.debug = true;
classMap = new ClassMap();
classMap.prefixMap = new PrefixMap(
classMap.prefixMap, "air", serviceNamespace );
transport.setClassMap( classMap );
request = new SoapObject( serviceNamespace,
methodName );
request.addProperty( "arg0",
airportCodes[ choice ] );
result = transport.call( request );
} catch( Exception e ) {
e.printStackTrace();
System.out.println( "Request: \n" +
transport.requestDump );
System.out.println( "Response: \n" +
transport.responseDump );
result = null;
}//end try/catch
return result;
}//end callService()