Client WAP Stack Activex Component
Total Page:16
File Type:pdf, Size:1020Kb
Winwap Technologies Oy Client WAP Stack ActiveX component Application Programming Interface WAP stack version 2.6 WAP specification version: 2.0 Document dated: 06-Jan-2006 WAP Stack ActiveX http://www.winwap.com Notice of Confidentiality This document contains proprietary and confidential information that belongs to Winwap Technolo- gies Oy. The recipient agrees to maintain this information in confidence and to not reproduce or otherwise disclose this information to any person outside of the group directly responsible for the evaluation of the content. Revision history Date Author Description 06-Jan-2006 S Markelov Initial version of the WAP Stack ActiveX API specification. Preamble The reader of this document should be familiar with all or some of the following in order to fully understand and evaluate the information in this document: • Basic knowledge in programming techniques. • Basic understanding of networking connections and client/server architecture where user- agents retrieve and render information (e.g. Internet browsers and servers with services). • The interaction between a WAP user-agent, a WAP Gateway and a WEB Server. • Basic knowledge in ActiveX technique. c Winwap Technologies Oy 1 WAP Stack ActiveX http://www.winwap.com Contents 1 Normative references2 2 Getting started3 2.1 What is the WAP Stack ActiveX?...........................3 2.2 System requirements..................................4 2.3 Installation.......................................5 2.4 Simple program for Microsoft Visual Basic 6.0....................6 2.5 Simple program for Microsoft Visual C++ 6.0....................8 2.6 Simple program for Microsoft .NET/C#....................... 12 2.7 Simple program for Borland Delphi 7.0........................ 14 3 API specification 16 3.1 Declarations...................................... 16 3.2 Session establishing.................................. 17 3.2.1 Properties................................... 17 3.2.2 Methods.................................... 21 3.2.3 Events..................................... 23 3.3 Requesting....................................... 24 3.3.1 Methods.................................... 24 3.3.2 Events..................................... 27 3.4 WAP specific events.................................. 31 3.5 Tuning......................................... 33 3.5.1 Properties................................... 33 3.5.2 Methods.................................... 40 3.6 Diagnostic....................................... 42 3.6.1 Last error code................................. 42 3.6.2 Logging.................................... 43 A Appendix 44 A.1 List of error codes................................... 44 A.2 List of server certificate validation codes....................... 45 1 Normative references RFC-2616 “Hypertext Transfer Protocol – HTTP/1.1”, ftp://ftp.isi.edu/in-notes/rfc2616.txt. WP-HTTP “Wireless Profiled HTTP”, http://www.openmobilealliance.org/. WSP “Wireless Session Protocol”, http://www.openmobilealliance.org/. WTLS “Wireless Transport Layer Security Protocol”, http://www.openmobilealliance.org/. WTP “Wireless Transaction Protocol Specification”, http://www.openmobilealliance.org/. c Winwap Technologies Oy 2 WAP Stack ActiveX http://www.winwap.com 2 Getting started 2.1 What is the WAP Stack ActiveX? The WAP Stack ActiveX is an ActiveX component based on the WAP Stack SDK, the complete library for using WAP connections. The WAP Stack ActiveX provides both WSP/WTP (WAP Gateway) and WP-HTTP (direct and HTTP proxy) connections, and is quickly implemented into your own software application. By using the WAP Stack ActiveX from your own application you get full WAP connection function- ality from within your own software. An extensive set of methods, functions and events provides full control over the WAP connections so you can build your own browser, testing, measuring or assurance applications. It is a quick and simple process to begin using the WAP Stack ActiveX. The WAP Stack ActiveX comes with source code samples and API documentation that show exactly how to use it so that you can get quickly started even without having much knowledge about WAP. You can create a wide array of tools for automatically or manually opening WAP connections and retrieving data. All features are well documented and the methods, functions and events are easy to use. c Winwap Technologies Oy 3 WAP Stack ActiveX http://www.winwap.com 2.2 System requirements • OS Microsoft Windows 98/ME, Microsoft Windows NT 4/2000, Microsoft Windows XP/2003. • Microsoft CAPICOM 2.0 or later — COM interface to Microsoft CryptoAPI. It is a new security technology from Microsoft that allows Microsoft Visual Basic, Visual Basic Script, ASP, and C++ programmers to easily incorporate digital signing and encryption into their application. CAPICOM is available today for download from the MSDN Web site. CAPICOM is deliv- ered with the Platform SDK and is redistributable free of charge. The CAPICOM can be downloaded from the following URL: http://www.microsoft.com/msdownload/platformsdk/setuplauncher.asp To register CAPICOM.dll, at the command prompt, change directories to the directory where CAPICOM.dll is stored, and enter the command: regsvr32 CAPICOM.dll. • For both CAPICOM 1.0 and CAPICOM 2.0, Microsoft Internet Explorer 5 or later is required. • OpenSSL libraries — the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. The OpenSSL libraries can be download as an installation package from the following official OpenSSL site: http://www.openssl.org/ If the OpenSSL libraries are not installed in the system, the HTTPS protocol will not be available. c Winwap Technologies Oy 4 WAP Stack ActiveX http://www.winwap.com 2.3 Installation Simply run the installation program setup.exe and follow the installation procedure. It will copy needed files and register the WAP Stack ActiveX type library in the system. c Winwap Technologies Oy 5 WAP Stack ActiveX http://www.winwap.com 2.4 Simple program for Microsoft Visual Basic 6.0 1. Run the Microsoft Visual Basic 6.0 and create new “Standard EXE” project. 2. Add the WAP Stack ActiveX component into the project: select the menu command Project j Components, find the item “WPSClient 1.0 Type Library” in the list of the available ActiveX controls and click on the check box, press the “OK” button. The component shall appear on the Toolbox. 3. Select the WAP Stack ActiveX component on the Toolbox and place it on the form. 4. Place three labels, four text boxes, one button and change its names and captions as it shown in the Fig.1 on this page. Figure 1: Visual Basic form designer 5. Add the next event handlers for events “Connect”, “Reply” of the object WPS_Client1 and for event “Click” of the button CommandGo!: Private Sub CommandGo_Click() ’ Clear previous output TextResult.Text = "" ’ Set connection/session type WPS_Client1.Mode = WPS_MODE_HTTP ’ Set proxy settings WPS_Client1.ProxyAddress = TextProxyAddress.Text WPS_Client1.ProxyPort = TextProxyPort.Text Call WPS_Client1.Connect("") End Sub Private Sub WPS_Client1_Connect( _ ByVal code As WPSClientCtl.TxWPS_ConnectCode, _ ByVal description As String) c Winwap Technologies Oy 6 WAP Stack ActiveX http://www.winwap.com TextResult = "Connected" & Chr(13) & Chr(10) ’ Load resource Call WPS_Client1.Get(TextURL.Text, "Accept: text/vnd.wap.wml") End Sub Private Sub WPS_Client1_Reply(ByVal hRequest As Long, _ ByVal data As Variant, ByVal contentType As String,_ ByVal Headers As String, ByVal status As Long) TextResult.Text = TextResult.Text & _ "Received data is of content type " & _ contentType & Chr(13) & Chr(10) & Chr(13) & Chr(10) TextResult.Text = TextResult.Text & data End Sub 6. Run the application, input proxy settings if it is needed and press the button “Go!”. In the “TextResult” text box you should see the received data as in the Fig.2 on the current page. Figure 2: Result output in the Visual Basic application c Winwap Technologies Oy 7 WAP Stack ActiveX http://www.winwap.com 2.5 Simple program for Microsoft Visual C++ 6.0 1. Run the Microsoft Visual C++ and create in the MFC Application wizard new dialog based application with the name “vc”. 2. Add the WAP Stack ActiveX component into the project. Select the menu command Project j Add To Project j Components and Controls. Choose the “Registered ActiveX Controls” folder, find the item “WPSClient Class” in the list of the available ActiveX controls, press the“Insert” and two times “OK” buttons. The component shall appear on the “Controls” toolbox. Then press the “Close” button to close the “Components and Controls Gallery” dialog. 3. Select the WAP Stack ActiveX component on the “Controls” toolbox and place it on the dialog. 4. Place three static texts, four edit boxes, one button and change its identifiers, captions ans styles as it shown in the Fig.3 on this page. Figure 3: Visual C++ dialog designer 5. Open the MFC ClassWizard (Ctrl+W) and associate the controls with the variables as shown in the Fig.4 on the next page. 6. Initialize the proxy port and default URL in the dialog constructor: m_proxy_port = _T("3128"); m_url = _T("http://wap.winwap.com/"); 7. Add the next event handlers for the message BN_CLICKED of the button m_gofor and for events “Connect”, “Reply” of the object m_wps_client: void CVcDlg::OnGo() { const int WPS_MODE_HTTP = 10; const int WPS_STATE_NULL = 0; c Winwap Technologies Oy 8 WAP Stack ActiveX http://www.winwap.com Figure 4: Visual C++ MFC ClassWizard