WAC 4.2 - User - Guide
WAC 4.2 - User - Guide
WAC 4.2
Unless otherwise noted, all names of companies, products, street addresses and
persons contained herein are part of a completely fictitious scenario and are
designed solely to document the use of the described product or service.
Sun, Sun Microsystems, the Sun Logo, Solaris, and Java are trademarks or
registered trademarks of Sun Microsystems, Inc. in the United States and other
countries.
Oracle is a registered trademark, and Oracle8i, Oracle9i and Oracle 10g are
trademarks or registered trademarks of Oracle Corporation.
All the other trademarks are the property of their respective owners.
User Guide
WAC 4.2
Contents
1 About this manual ________________________________ 6
1.1 Intended audience .......................................................... 6
1.2 References ..................................................................... 6
2 Introduction ____________________________________ 7
2.1 WAC ............................................................................. 7
2.2 Wib ............................................................................... 9
-3-
User Guide
WAC 4.2
6 Troubleshooting ________________________________ 34
6.1 Push messages do not work ............................................34
6.2 Converter library not found .............................................34
6.3 Error while converting WML to byte code. Checks logs for
details. .........................................................................34
6.4 Valid documents must have a prologue .............................34
6.5 WML Error: Invalid encoding ...........................................35
-4-
User Guide
WAC 4.2
11 Glossary _____________________________________ 53
Document number: 90-343
Revision: 1.1 2010-03-10
-5-
User Guide
WAC 4.2
1.2 References
For more information on WIG, communication protocols,
application development and other related topics, refer to the
following documents. The SmartTrust documents can be
found at http://www.smarttrust.com/other-pages/developers-
corner1/documentation.
[1] Universal Gateway Request Protocol Specification,
SmartTrust. Specifies the protocol between WIG Server
and the Content Provider.
[2] Universal Gateway Push Protocol Specification,
SmartTrust. Specifies the protocol between WIG Server
and the Push client.
[3] Application Developer Guide – Development of Wib
Services, SmartTrust. Included in the WAC online help.
Provides guidelines and help to developers of Wib
services.
[4] WIG WML v4 Specification, SmartTrust. Included in the
WAC online help. Specifies the subset of the Wireless
Markup Language (WML) that WIG Server supports
[5] WIG WML v5 Specification, SmartTrust. Included in the
WAC online help. Specifies the subset of the Wireless
Markup Language (WML) that WIG Server support
[6] Application Programmer Guide to Wib Plug-ins,
SmartTrust. Included in the WAC online help. Specifies
the interfaces and functionality of the standard
SmartTrust Wib plug-ins.
[7] RFC 2109, HTTP State Management Mechanism.
Describes cookies.
[8] GSM 03.48, SIM Application Toolkit Secure
Document number: 90-343
Messaging.
Revision: 1.1 2010-03-10
-6-
User Guide
WAC 4.2
2 Introduction
2.1 WAC
WAC is a tool for development of WML based applications.
It enables you to develop WML applications and test them in
a simulated mobile phone.
Features Main features in WAC includes:
• A WML editor with continuous syntax checking.
• Support for WIG WML specification version 5.
• Simulated Wib phone with skins.
• Load and execute WML directly from a Web server.
• Online help with this WAC User Guide, WIG WML
specification, Wib plug-in specification and Wib
development guidelines. Free text search and
bookmarks/favorites are supported.
WAC
WAC simulates all STK commands, Wib commands and
server-side plug-ins specified in[4] “WIG WML v4
Specification” and [5] “WIG WML v5 Specification”.
Document number: 90-343
Revision: 1.1 2010-03-10
Wib Plug-ins WAC simulates the Wib plug-ins listed below. For details,
refer to [6] “Application Programmer Guide to Wib Plug-
ins”.
-7-
User Guide
WAC 4.2
WAC
Push
Wib menu TCP/IP WML
WSM WIG
Wib equipped
test phone
Send WML to a Wib equipped SIM on a live phone through a
WSM or WIG server.
-8-
User Guide
WAC 4.2
2.2 Wib
SmartTrust Wib™ interpreter resides on the SIM card of the
mobile phone. The main purpose of the Wib is to run byte
code strings and convert them into SIM Application Toolkit
(STK) commands. Wib applications are originally written in
WML and thus a conversion to byte code is necessary before
the Wib can handle it. WAC can perform this conversion.
Document number: 90-343
Revision: 1.1 2010-03-10
-9-
User Guide
WAC 4.2
3 Quick start
3.1 Requirements
Check these requirements before you install WAC:
• Install1 on Windows 2000 or Windows XP.
• Java, JRE 1.6 or later installed.
• Microsoft Visual C++ 2008 Redistributable Package
(x86) or later installed
Modify 3 Modify the WML code. When you write your WML code,
you will get instant feedback in the Message panel if you
do something wrong:
1
WAC can be installed and run on Windows Vista and Windows 7.
However all functionality in WAC has not been tested on those Operating
Systems.
- 10 -
User Guide
WAC 4.2
4 If you need help with some WML code or tag, open the
Help online help by choosing Help from the Help menu. Open
the document “WIG WML specification” or use the free
text search.
5 To save your WML document as a file to disk, choose
Save Save document from the File menu. The name of the
WML document will change to the name you give to the
file.
6 When you are ready with your WML document and the
Send document Message panel says OK, you can run it in the Wib Phone.
From the Actions menu, choose Send document or click
the corresponding button on the toolbar.
- 11 -
User Guide
WAC 4.2
4 The Workspace
4.1 Introduction
This chapter describes the WAC workspace, explains the
main screen and gives some help on how to work with WAC.
For information to individual dialogs and input fields, refer to
“Dialog reference” on page 37.
Menu
WIB
Phone
clicking .
- 12 -
User Guide
WAC 4.2
Byte code Byte code length: This field shows the byte code length of
the WML that was last received. The byte code length does
not include GSM 03.48 header information. For more
information, refer to [8] “GSM 03.48”.
SM SM: Shows the number of short messages needed for the byte
code.
WAC will fetch the page in the given URL to the editor. To
view and select previous URLs, click the arrow button on the
right side of the text box.
Log There are also tabs for viewing log files and a special tab for
the incoming WML that was last received.
When you validate the WML in the editor, the result of the
validation is shown in the message panel below the editor
panel. The WML validation generates the following codes:
OK, Error, and Warning.
- 13 -
User Guide
WAC 4.2
4.2.6 Toolbar
When placing the cursor over a toolbar button, a short
explanation will be displayed – a so-called Tool tip.
4.3 Cookies
WAC receives cookies when sending HTTP requests to a
Document number: 90-343
- 14 -
User Guide
WAC 4.2
Cookies dialog
In this dialog you can view and delete cookies.
Note. Cookies are not saved when you close the application.
For more information on cookies, refer to [7] “RFC 2109”.
- 15 -
User Guide
WAC 4.2
wiblet URI The wiblet uri specified by the meta tag in the WML
document.
WML area The WML code that that is converted to byte code is listed in
the WML area.
Add wiblet Clicking Add wiblet will save your named wiblet on your
computer.
- 16 -
User Guide
WAC 4.2
Toolbar
Content
Navigation
pane
Document number: 90-343
pane
Revision: 1.1 2010-03-10
- 17 -
User Guide
WAC 4.2
4.7.1 Toolbar
The toolbar has these buttons:
Go to the previous page, works like the “Back” button in
browsers.
Go to the next page, works like the “Forward” button in
browsers.
Print the current page.
Set the format for printing.
Add to Favorites. Saves the current page as a favorite. To
view your favorites, click the Favorites tab in the navigation
pane.
- 18 -
User Guide
WAC 4.2
- 19 -
User Guide
WAC 4.2
5 Using WAC
- 20 -
User Guide
WAC 4.2
4 Click Apply.
How to change port 1 From the File menu, choose Properties, or click the
number corresponding button on the toolbar.
3 Type the new port number in the WAC listens for push
messages in port text field.
4 Click Apply.
5 Restart WAC.
URL You can also fetch WML from the network by typing a URL
Document number: 90-343
Revision: 1.1 2010-03-10
- 21 -
User Guide
WAC 4.2
- 22 -
User Guide
WAC 4.2
5. Click Apply.
You can use the example below to display the default icon in
the Wib phone.
<wml>
<card>
<p iconid="3">
This text should be preceded by an icon.
</p>
</card>
</wml>
- 23 -
User Guide
WAC 4.2
WML
wiblet 1
wiblet 2
Example In this example, two local wiblets have been created: wiblet 1
and wiblet 2.
To execute wiblet 1, the following element is used:
<go href=“wiblet://smarttrust.com/wiblet 1”/>
- 24 -
User Guide
WAC 4.2
- 25 -
User Guide
WAC 4.2
Define and build the The plug-ins are defined in an xml configuration file. The plug-in
plug-in can be a generic implementation provided with WAC or an own
implementation class. The same applies for the GUI
implementation. The plug-in may specify a property panel
implementation class or use a generic implementation provided
with WAC. The default implementation creates a plug-in that
returns the “output” value defined in the configuration, while the
default GUI allows for the value to be changed.
The xml configuration file is located in
<UserHome>/.wac/conf/PluginFactory.xml
- 26 -
User Guide
WAC 4.2
Custom Properties To aid with third-party extensions, WAC has been configured
to also look for a 'custom-plugins.jar' in the 'lib' sub-folder
and to attempt to load a 'PluginFactory-Fragment.xml' from
the classpath. (So it should normally be placed in the root of
the jar file.) The fragment file should have the same syntax
as the PluginFactory.xml file. If found, any new plug-in
definitions in the fragment file will be merged with the
definitions loaded from the PluginFactory.xml file.
Note! Only definitions with names that are not already
defined in the main file will be added, which means that the
primary file may be used to override settings defined in the
custom jar file if required.
GUI option in When the GUI option to create a plug-in is used an entry in
Properties/Plug-ins the <UserHome>/.wac/conf/PluginFactory.xml is created that
defines a named plug-in that uses the default implementation
along with the default GUI implementation.
Document number: 90-343
Revision: 1.1 2010-03-10
5.4.1.1 Introduction
You can validate the WML by selecting the automatic
validation.
- 27 -
User Guide
WAC 4.2
How to specify Wib 1 From the File menu, choose Properties, or click the
version corresponding button on the toolbar.
3 Select the WML version you are using and the Wib
version you want to generate byte code for.
4 Click Apply.
- 28 -
User Guide
WAC 4.2
- 29 -
User Guide
WAC 4.2
The contents of the log are not editable. The log shows the
actual HTTP traffic in the built-in server of the WAC: the
sent and received messages and their headers. This is very
useful information when developing applications.
HTTP log length can be specified in the Properties dialog on
the Editor tab.
To clear the log, right-click and choose Clear log.
5.6.2 Logs
You can see WAC logs in the View log tab of the editor:
- 30 -
User Guide
WAC 4.2
3.To delete a cookie, select it from the list and click the
Delete button. A deleted cookie is not sent back to the
server.
Note. Cookies are not saved and will be lost when you exit
WAC.
Variables The content of variables that are passed in query strings can
be Unicode. In the example below, the content of the variable
DRINK is Unicode.
- 31 -
User Guide
WAC 4.2
Fonts For your Wib Phone to show Unicode characters you need to
have the proper font, containing these characters, installed on
your operating system.
In Windows these fonts can be installed in the Control Panel.
If you already can see the characters you want in any other
program on your computer, the proper font is probably
already installed.
After you have installed the font you must also make sure
that Java supports it. To do this you’ll have to change the
JRE’s font.properties file. The file can be located in <JRE
installation directory>/jre/lib .
- 32 -
User Guide
WAC 4.2
Generate key 1 First, generate the key with OpenSSL with the following
command:
openssl genrsa -out temp.txt 1024
This generates the key to a temp.txt file.
carddb.xml 3 Now open the carddb.xml in a text editor and substitute the
key defined there with this:
<!-- EF prkey -->
<ef name="prkey" type="transparent" magic="openssl">
<body path="C:\mydirectory\wherethekeyis\keyfile.txt"/>
</ef>
- 33 -
User Guide
WAC 4.2
6 Troubleshooting
6.3 Error while converting WML to byte code. Checks logs for
details.
The WML document contains errors and has not been
converted to byte code. Click the View log tab in the Editor
panel for explanations of the errors.
- 34 -
User Guide
WAC 4.2
• ISO-8859-1
• ISO-8859-7
• UTF-8
Document number: 90-343
Revision: 1.1 2010-03-10
- 35 -
User Guide
WAC 4.2
7.1 Plug-ins
Question How do I use Wib plug-ins in WML?
Answer You must use the plugin element to call a Wib plug-in. In the
WML example below, the encryption plug-in ENCR is used
<wml>
<card>
<p>
To pay the ordered goods we need you to supply your Credit
Card No (will be sent encrypted)
<!-- Get credit card as input from the user -->
<input title="Enter Credit Card No:" type="password"
maxlength="5" name="PlainText" format="*N"/>
<!-- call the encryption plug-in -->
<plugin name="ENCR" params="\x02$(PlainText)"
destvar="CipherText"/>
Text in clear: $(PlainText)
<br/>
Encrypted text: $(CipherText)
</p>
</card>
</wml>
7.2 Sound
Question Can I use sounds on the Wib phone?
Answer Yes and no. The playtone element can be used, e.g.:
<p>
<playtone toneid="general-beep" duration="2.5" iconid="1"
title="Play it again, Sam!"/>
</p>
The Wib phone will display:
- 36 -
User Guide
WAC 4.2
8 Dialog reference
8.1 Introduction
This chapter will give detailed information on menu
commands, toolbar buttons and input fields in dialogs.
Save document Save the current document with its current name, or
prompts for a file name if the document has not
been previously saved.
Save document – Prompts you for a file name and saves the current
as… document
Close document Close the current document.
button
Revision: 1.1 2010-03-10
- 37 -
User Guide
WAC 4.2
- 38 -
User Guide
WAC 4.2
8.3 Dialogs
8.3.1 Properties
- 39 -
User Guide
WAC 4.2
Remote WIG address and Specify the IP address and port number of the remote
port WIG Server you are sending the push messages to. You
can also type your own local IP so that the push messages
will be sent to the same WAC. By default, WAC listens
to port 5008.
Recipient MSISDNs Enter here the MSISDNs (phone numbers) to which the
WIG Server will send the push messages. Because WIG
has multicasting ability, you can type several numbers
into this field, separated by semicolons (;).
Simulate confirmed If this checkbox is selected, WAC will request a
quality of service confirmation message from the remote WIG Server.
Confirm URL Type here the URL to which the confirmation message is
sent.
Push priority Used when WAC is used to push a S@T deck2
S@T Push Name Used when WAC is used to push a S@T deck
Document number: 90-343
Revision: 1.1 2010-03-10
2
Note that WAC has no support for emulating S@T commands, but can
be used for pushing of S@T decks.
- 40 -
User Guide
WAC 4.2
WAC listens for push Here you can change the WAC HTTP port. This port is
messages in port <port> used for receiving incoming WML documents from
remote applications.
Note that you have to restart the application after you
have changed the port number.
Automatically forward When WAC receives an incoming message, it is possible
incoming push messages to forward this message further to a real or simulated
after <n> seconds WIG. WAC waits for the time specified here and sends
the same message to the WIG specified in the Remote
WIG address and port field.
Select simulated transport Select the security level according to the security level in
security level the Delivery Platform and WIG you are using. The
selection affects the byte code length and number of short
messages.
Options:
• No security used.
• Data in clear, data not encrypted.
• Encrypted data, authentication and data encryption.
Wib version Select here the Wib version you want the Wib Phone to
simulate. The options are Wib 1.1, Wib 1.1.1, Wib 1.2,
Wib 1.2.1, Wib 1.3 and Wib 2.0.
Wib versions support different commands and the
differences between the versions are described in [3]
“Application Developer Guide – Development of Wib
Services”. The syntax is described in [4] “WIG WML v4
Specification” or [5] “WIG WML v5 Specification”. You
find both documents in the WAC online help.
Information about which Wib version is currently
selected is displayed in the WAC application’s title bar.
WML version If WML version 3 is selected, Wib 1.3 and Wib 2.0
cannot be selected as Wib version.
If WML version 4 is selected, Wib 2.0 cannot be selected
as Wib version.
Document number: 90-343
Revision: 1.1 2010-03-10
Allow old WIG WML Allow older WIG WML code than version 4. This
parameter is valid if you use DP version 6.1. If DP
version 6.0 is used, only old WIG WML will work.
- 41 -
User Guide
WAC 4.2
Default char set Set the default character set if you allow old WIG WML
code. This character set will be used if no UTF-8
character set is specified in the WML document, e.g.:
<?xml version="1.0"
encoding="UTF-8"?>
Maximum byte code These settings are for the so-called sanity checks in
lengths Transform and sets limits on how long commands are
allowed in byte code. The settings correspond to the
settings that the PLMN operator applies and that is
configurable in WIG Server. The default values here are
the same as for the WIG Server. There is normally no
reason to change these settings.
Note. Only change these settings after consulting your
PLMN operator.
Reset default values Resets the values for maximum byte code lengths to their
default values.
Profile information Set a terminal profile for the Wib Phone. When the
mobile station is being initialized, after a power-up or
reset, the phone notifies the SIM card of its capabilities
by sending it the so-called “Terminal Profile”. The
“Terminal Profile” is stored on the SIM and may be
tested by Wib, using the <checkterminalprofile> WML
element.
Location information Location of the phone; cell identity. This field must be
edited to hold user specific information according to [9]
Document number: 90-343
Revision: 1.1 2010-03-10
- 42 -
User Guide
WAC 4.2
Date, time and time zone Date and time for the phone. This field must be edited to
hold user specific information according to [9] “GSM
11.14” and will be returned by the <providelocalinfo>
WML element.
Language settings Language used in mobile. The code corresponding to the
selected language that will be returned by the
<providelocalinfo> WML element, but does not reflect the
actual language used by WAC. For viewing Unicode
characters in WAC, refer to “Character encoding” on
page 31.
Timing advance Lap in time between ME and base station. This field must
be edited to hold user specific information according to
[9] “GSM 11.14” and will be returned by the
<providelocalinfo> WML element.
- 43 -
User Guide
WAC 4.2
- 44 -
User Guide
WAC 4.2
PAD Storage The plug-in is used to create, read, update, and delete
privileged application data stored in a SIM card.
RRFMS Retrieve Remote File Management Status – check the
status of the latest RFM operation.
- 45 -
User Guide
WAC 4.2
- 46 -
User Guide
WAC 4.2
9 Appendix A: Security
44:79:32:a7:78:3f:78:33:c9:b6:8c:f5:6d:2d:01:
Revision: 1.1 2010-03-10
e9:27:c0:37
- 47 -
User Guide
WAC 4.2
z88KmUSkj3zO6cLGXL8iwfo/N7ABRRGy4CN6Cg3SPCKX9AUCQQDmfeCy6Or35dJB
yOmWqz5VhUstsW4i5rTdONubOlF6CB4IKKy1uiw8kzgXzm7YaU4WNZddt1nvnkHT
yci0GO+HAkEA4aMXZdEMyTzAe/3rFSeKyqRHlG9efivYReJxkQJl7KveLFx75aKR
YrKG6aNKOporsnjVVf+/jDb2G/Q9aZw5XwJBAIA/D/RcNskCHhAuaxJDa+aHyQG+
lKpktcPVbBOdylHdDGC7yQVAdnap728HlJNjXGhtHzCs4SS7aKMfxkW3DicCQGVq
2exwvy+AeAADTHPQtyiIGIhWWoGZkXcv5d3I1yk+wvjrhODdZj2Xgt5m/8lBXJy2
hSVHc8BBP/OmnyfmCT8CQCIjt50qLM4VuwoPgXHx03CMILY8cLsY5FebDHOdrGk3
utyMh0Dfs8/+8NPwM0R5Mqd4P3gzybaM9W0tAeknwDc=
-----END RSA PRIVATE KEY-----
<hex>
Revision: 1.1 2010-03-10
b5:e7:d9:0e:e3:f2:18:17:54:6c:b6:c8:99:45:f7:
39:1f:6c:5e:72:cb:1c:b5:15:74:76:b9:f7:b8:8f:
a4:78:99:04:08:ad:3b:cd:39:b0:0b:60:99:2f:34:
2f:00:17:e1:04:2f:fb:0c:4f:46:68:97:c5:c6:7e:
a5:a9:db:11:88:4a:3a:a2:d1:33:67:5d:4c:64:e7:
9b:c1:44:f7:60:7b:58:2f:e7:8e:44:76:07:b2:83:
41:b9:05:00:7c:0b:30:16:78:54:4b:39:9e:67:64:
39:58:9e:e4:66:82:77:88:8c:cc:19:9b:1f:f1:c8:
44:db:8d:5c:92:2d:24:6f:
- 48 -
User Guide
WAC 4.2
</hex>
</tlv>
</body>
</ef>
</simcard>
</carddb>
Document number: 90-343
Revision: 1.1 2010-03-10
- 49 -
User Guide
WAC 4.2
10.1 Introduction
This appendix describes how to create a new skin for the Wib
Phone.
The tools you need:
1. A graphical editor, e.g. Paint.
2. A text editor, e.g. Notepad.
3. Zip program, e.g. WinZip. Not needed if you use
Windows XP.
Main steps are:
1. Create the picture of the phone model.
2. Create a graphical mask.
3. Update a XML file.
4. Zip the files and install.
5. Use it!
10.2 Instruction
- 50 -
User Guide
WAC 4.2
<skin>
<screen x="38" y="132" width="116"
height="96" color="#E3FAF8" />
<button name="yes" color="#00FF00" />
<button name="no" color="#FF0000" />
<button name="up" color="#0000FF" />
<button name="down" color="#FFFF00" />
</skin>
- 51 -
User Guide
WAC 4.2
3. Place the file in the skins directory. The default location is:
C:\Program Files\Smarttrust\WigApplicationCreator\etc\skins
- 52 -
User Guide
WAC 4.2
11 Glossary
BCCH Broadcast Control Channel
UG Universal Gateway
Wib SmartTrust Wib™
- 53 -
User Guide
WAC 4.2
- 54 -