getMarkupFromWapl
Use this function to pass WAPL as a string and receive the correct markup for the device.
getMarkupFromWapl(devKey, wapl, headers)
- devKey - used for authentication and to log usage.
- wapl - WAPL passed as a string.
- headers - the headers of the device you wish to query.
Returns:
Upon success, XML containing header information and markup for the device
Upon failure, error codes WAPL markup
Example SOAP Request
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WaplAPI">
- <SOAP-ENV:Body>
- <ns1:getMarkupFromWapl>
- <devKey>Wapple</devKey>
- <wapl><?xml version="1.0" encoding="UTF-8" ?>
- <wapl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://wapl.wapple.net/wapl.xsd">
- <layout>
- <row>
- <cell>
- <chars>
- <value>
- <![CDATA[EXAMPLE WAPL!]]>
- </value>
- </chars>
- </cell>
- <cell>
- <externalImage filetype="png" scale="50">
- <url>http://wapple.net/images/web/logo.png</url>
- </externalImage>
- </cell>
- </row>
- </layout>
- </wapl>
- </wapl>
- <deviceHeaders>
- <deviceItem>
- <name>HTTP_HOST</name>
- <value>wapple.net</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_USER_AGENT</name>
- <value>LGE-LG380/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_ACCEPT_CHARSET</name>
- <value>utf-8</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_ACCEPT_LANGUAGE</name>
- <value>en; q=1.0, en, *; q=0.5</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_ACCEPT_ENCODING</name>
- <value>deflate,gzip</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_REFERER</name>
- <value>http://www.wapple.net/</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_CACHE_CONTROL</name>
- <value>max-age=259200</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_CONNECTION</name>
- <value>keep-alive</value>
- </deviceItem>
- <deviceItem>
- <name>HTTP_ACCEPT</name>
- <value>application/vnd.phonecom.mmc-xml, application/vnd.wap.wmlc;type=4365, application/vnd.wap.wmlscriptc, application/vnd.wap.xhtml+xml, application/xhtml+xml;profile="http://www.wapforum.org/xhtml", image/bmp, image/gif, image/jpeg, image/png, image/vnd.wap.wbmp, image/x-up-wpng, multipart/mixed, multipart/related, text/html, text/plain, text/vnd.wap.wml;type=4365, audio/midi, audio/qcelp, audio/vnd.qcelp, application/x-pmd, audio/mid, audio/x-midi, audio/x-mid, audio/mp4, audio/mp3, audio/mpeg4, video/mpeg4, video/mp4, application/vnd.oma.dd+xml, application/vnd.oma.drm.message</value>
- </deviceItem>
- </deviceHeaders>
- </ns1:getMarkupFromWapl>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
Example SOAP Response
- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WaplAPI">
- <SOAP-ENV:Body>
- <ns1:getMarkupFromWaplResponse>
- <?xml version="1.0" encoding="UTF-8" ?>
- <wapple_response>
- <session_id>
- 842gsi2c1t16ggcf5pfqjhgnp0
- </session_id>
- <header>
- <item><![CDATA[Cache-Control: no-store, no-cache, max-age=0, s-maxage=0, post-check=0, pre-check=0, public, must-revalidate]]></item>
- <item><![CDATA[Pragma: no-cache]]></item>
- <item><![CDATA[Last-Modified: Thu, 25 Sep 2008 16:03:52 GMT]]></item>
- <item><![CDATA[Expires: Thu, 25 Sep 2008 16:03:51 GMT]]></item>
- <item><![CDATA[Content-Type: text/vnd.wap.wml; charset=utf-8]]></item>
- </header>
- <markup>
- <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
- <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
- "http://www.wapforum.org/DTD/wml_1.1.xml">
- <wml>
- <card id="card" title="Wapple Home"><p>
- EXAMPLE WAPL!
- &#160;
- <img src="http://go.wapple.net/sitegraphic/4051_842gsi2c1t16ggcf5pfqjhgnp0_bd0c05cd/bin.jpg" alt="loading." />
- &#160;
- <br />
- </p>
- </card>
- </wml>]]>
- </markup></wapple_response>
- </ns1:getMarkupFromWaplResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
Parsed XML Response
- <wapple_response>
- <session_id>
- 842gsi2c1t16ggcf5pfqjhgnp0
- </session_id>
- <header>
- <item></item>
- <item></item>
- <item></item>
- <item></item>
- <item></item>
- </header>
- <markup>
-
- </markup></wapple_response>
PHP Example
Nb. The example below uses the native PHP soap extension in PHP. The code is for demonstration purposes only and should be modified for use in a production environment.
- <?php
-
- // XML headers and open
- $string = '<' . '?xml version="1.0" encoding="utf-8" ?'.'><wapl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://wapl.wapple.net/wapl.xsd">';
-
- // Page title and external CSS
- $string .= '<head><title>Your Page Title</title>';
- $string .= '<css><url>http://your-domain/css/mobile.css</url></css>';
- $string .= '</head><layout>';
-
- // Add your WAPL below
- $string .= '<row><cell><chars><value>Hello World</value></chars></cell></row>';
-
- // Close layout
- $string .= '</layout></wapl>';
-
- // Setup parameters for communicating
- $headers = array();
- foreach($_SERVER as $key => $val)
- {
- $headers[] = array('name' => $key, 'value' => $val);
- }
-
- $params = array('devKey'=>"YOUR-DEV-KEY", 'wapl'=>$string, 'deviceHeaders'=>$headers);
-
- // Send markup to API and parse through simplexml
- $sClient = @new SoapClient('http://webservices.wapple.net/wapl.wsdl', array('connection_timeout' => 5));
- $xml = simplexml_load_string($sClient->getMarkupFromWapl($params));
-
- foreach($xml->header->item as $val)
- {
- header($val);
- }
- echo trim($xml->markup);
- ?>