2.1.3 :: getMarkupFromWapl

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


  1.  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WaplAPI">
  2.   <SOAP-ENV:Body>
  3.   <ns1:getMarkupFromWapl>
  4.   <devKey>Wapple</devKey>
  5.   <wapl>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;&#13;
  6.   &lt;wapl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://wapl.wapple.net/wapl.xsd"&gt;&#13;
  7.   &lt;layout&gt;&#13;
  8.   &lt;row&gt;&#13;
  9.   &lt;cell&gt;&#13;
  10.   &lt;chars&gt;&#13;
  11.   &lt;value&gt;&#13;
  12.   &lt;![CDATA[EXAMPLE WAPL!]]&gt;&#13;
  13.   &lt;/value&gt;&#13;
  14.   &lt;/chars&gt;&#13;
  15.   &lt;/cell&gt;&#13;
  16.   &lt;cell&gt;&#13;
  17.   &lt;externalImage filetype="png" scale="50"&gt;&#13;
  18.   &lt;url&gt;http://wapple.net/images/web/logo.png&lt;/url&gt;&#13;
  19.   &lt;/externalImage&gt;&#13;
  20.   &lt;/cell&gt;&#13;
  21.   &lt;/row&gt;&#13;
  22.   &lt;/layout&gt;&#13;
  23.   &lt;/wapl&gt;
  24.   </wapl>
  25.   <deviceHeaders>
  26.   <deviceItem>
  27.   <name>HTTP_HOST</name>
  28.   <value>wapple.net</value>
  29.   </deviceItem>
  30.   <deviceItem>
  31.   <name>HTTP_USER_AGENT</name>
  32.   <value>LGE-LG380/1.0 UP.Browser/6.2.3.8 (GUI) MMP/2.0</value>
  33.   </deviceItem>
  34.   <deviceItem>
  35.   <name>HTTP_ACCEPT_CHARSET</name>
  36.   <value>utf-8</value>
  37.   </deviceItem>
  38.   <deviceItem>
  39.   <name>HTTP_ACCEPT_LANGUAGE</name>
  40.   <value>en; q=1.0, en, *; q=0.5</value>
  41.   </deviceItem>
  42.   <deviceItem>
  43.   <name>HTTP_ACCEPT_ENCODING</name>
  44.   <value>deflate,gzip</value>
  45.   </deviceItem>
  46.   <deviceItem>
  47.   <name>HTTP_REFERER</name>
  48.   <value>http://www.wapple.net/</value>
  49.   </deviceItem>
  50.   <deviceItem>
  51.   <name>HTTP_CACHE_CONTROL</name>
  52.   <value>max-age=259200</value>
  53.   </deviceItem>
  54.   <deviceItem>
  55.   <name>HTTP_CONNECTION</name>
  56.   <value>keep-alive</value>
  57.   </deviceItem>
  58.   <deviceItem>
  59.   <name>HTTP_ACCEPT</name>
  60.   <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>
  61.   </deviceItem>
  62.   </deviceHeaders>
  63.   </ns1:getMarkupFromWapl>
  64.   </SOAP-ENV:Body>
  65.  </SOAP-ENV:Envelope>
Downloadlisting 2.1.3.a


Example SOAP Response


  1.  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WaplAPI">
  2.   <SOAP-ENV:Body>
  3.   <ns1:getMarkupFromWaplResponse>
  4.   &lt;?xml version="1.0" encoding="UTF-8" ?&gt;
  5.   &lt;wapple_response&gt;
  6.   &lt;session_id&gt;
  7.   842gsi2c1t16ggcf5pfqjhgnp0
  8.   &lt;/session_id&gt;
  9.   &lt;header&gt;
  10.   &lt;item&gt;&lt;![CDATA[Cache-Control: no-store, no-cache, max-age=0, s-maxage=0, post-check=0, pre-check=0, public, must-revalidate]]&gt;&lt;/item&gt;
  11.   &lt;item&gt;&lt;![CDATA[Pragma: no-cache]]&gt;&lt;/item&gt;
  12.   &lt;item&gt;&lt;![CDATA[Last-Modified: Thu, 25 Sep 2008 16:03:52 GMT]]&gt;&lt;/item&gt;
  13.   &lt;item&gt;&lt;![CDATA[Expires: Thu, 25 Sep 2008 16:03:51 GMT]]&gt;&lt;/item&gt;
  14.   &lt;item&gt;&lt;![CDATA[Content-Type: text/vnd.wap.wml; charset=utf-8]]&gt;&lt;/item&gt;
  15.   &lt;/header&gt;
  16.   &lt;markup&gt;
  17.   &lt;![CDATA[&lt;?xml version="1.0" encoding="utf-8" ?&gt;
  18.   &lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
  19.   "http://www.wapforum.org/DTD/wml_1.1.xml"&gt;
  20.   &lt;wml&gt;
  21.   &lt;card id="card" title="Wapple Home"&gt;&lt;p&gt;
  22.   EXAMPLE WAPL!
  23.   &amp;#160;
  24.   &lt;img src="http://go.wapple.net/sitegraphic/4051_842gsi2c1t16ggcf5pfqjhgnp0_bd0c05cd/bin.jpg" alt="loading." /&gt;
  25.   &amp;#160;
  26.   &lt;br /&gt;
  27.   &lt;/p&gt;
  28.   &lt;/card&gt;
  29.   &lt;/wml&gt;]]&gt;
  30.   &lt;/markup&gt;&lt;/wapple_response&gt;
  31.   </ns1:getMarkupFromWaplResponse>
  32.   </SOAP-ENV:Body>
  33.  </SOAP-ENV:Envelope>
Downloadlisting 2.1.3.b


Parsed XML Response


  1.  <wapple_response>
  2.  <session_id>
  3.  842gsi2c1t16ggcf5pfqjhgnp0
  4.  </session_id>
  5.  <header>
  6.  <item><![CDATA[Cache-Control: no-store, no-cache, max-age=0, s-maxage=0, post-check=0, pre-check=0, public, must-revalidate]]></item>
  7.  <item><![CDATA[Pragma: no-cache]]></item>
  8.  <item><![CDATA[Last-Modified: Thu, 25 Sep 2008 16:03:52 GMT]]></item>
  9.  <item><![CDATA[Expires: Thu, 25 Sep 2008 16:03:51 GMT]]></item>
  10.  <item><![CDATA[Content-Type: text/vnd.wap.wml; charset=utf-8]]></item>
  11.  </header>
  12.  <markup>
  13.  <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
  14.  <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
  15.  "http://www.wapforum.org/DTD/wml_1.1.xml">
  16.  <wml>
  17.  <card id="card" title="Wapple Home"><p>
  18.  EXAMPLE WAPL!
  19.  &#160;
  20.  <img src="http://go.wapple.net/sitegraphic/4051_842gsi2c1t16ggcf5pfqjhgnp0_bd0c05cd/bin.jpg" alt="loading." />
  21.  &#160;
  22.  <br />
  23.  </p>
  24.  </card>
  25.  </wml>]]>
  26.  </markup></wapple_response>
Downloadlisting 2.1.3.c


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.
  1.  <?php
  2.  
  3.  // XML headers and open
  4.  $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">';
  5.  
  6.  // Page title and external CSS
  7.  $string .= '<head><title>Your Page Title</title>';
  8.  $string .= '<css><url>http://your-domain/css/mobile.css</url></css>';
  9.  $string .= '</head><layout>';
  10.  
  11.  // Add your WAPL below
  12.  $string .= '<row><cell><chars><value>Hello World</value></chars></cell></row>';
  13.  
  14.  // Close layout
  15.  $string .= '</layout></wapl>';
  16.  
  17.  // Setup parameters for communicating
  18.  $headers = array();
  19.  foreach($_SERVER as $key => $val)
  20.  {
  21.   $headers[] = array('name' => $key, 'value' => $val);
  22.  }
  23.  
  24.  $params = array('devKey'=>"YOUR-DEV-KEY", 'wapl'=>$string, 'deviceHeaders'=>$headers);
  25.  
  26.  // Send markup to API and parse through simplexml
  27.  $sClient = @new SoapClient('http://webservices.wapple.net/wapl.wsdl', array('connection_timeout' => 5));
  28.  $xml = simplexml_load_string($sClient->getMarkupFromWapl($params));
  29.  
  30.  foreach($xml->header->item as $val)
  31.  {
  32.   header($val);
  33.  }
  34.  echo trim($xml->markup);
  35.  ?>

Contents