HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

Wireless Web Services with J2ME Part II, by Kyle Gabhart & Jason Gordon
WSJ Vol 02 Issue 02 - pg.48

	

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()