<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ab.edge-technologies.com/docs/index.php?action=history&amp;feed=atom&amp;title=Appboard%2F2.5%2Fbuilder%2Fdata_sources%2Fweb_service%2Fxml-xslt-soap</id>
	<title>Appboard/2.5/builder/data sources/web service/xml-xslt-soap - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ab.edge-technologies.com/docs/index.php?action=history&amp;feed=atom&amp;title=Appboard%2F2.5%2Fbuilder%2Fdata_sources%2Fweb_service%2Fxml-xslt-soap"/>
	<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Appboard/2.5/builder/data_sources/web_service/xml-xslt-soap&amp;action=history"/>
	<updated>2026-05-22T21:09:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>http://ab.edge-technologies.com/docs/index.php?title=Appboard/2.5/builder/data_sources/web_service/xml-xslt-soap&amp;diff=6500&amp;oldid=prev</id>
		<title>imported&gt;Jason.nicholls: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Appboard/2.5/builder/data_sources/web_service/xml-xslt-soap&amp;diff=6500&amp;oldid=prev"/>
		<updated>2014-06-26T15:52:07Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:52, 26 June 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Jason.nicholls</name></author>
	</entry>
	<entry>
		<id>http://ab.edge-technologies.com/docs/index.php?title=Appboard/2.5/builder/data_sources/web_service/xml-xslt-soap&amp;diff=6499&amp;oldid=prev</id>
		<title>imported&gt;David.moore: /* Creating the Data Source */</title>
		<link rel="alternate" type="text/html" href="http://ab.edge-technologies.com/docs/index.php?title=Appboard/2.5/builder/data_sources/web_service/xml-xslt-soap&amp;diff=6499&amp;oldid=prev"/>
		<updated>2013-12-20T20:53:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Creating the Data Source&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:Accessing SOAP Web Services}}&lt;br /&gt;
[[Category:AppBoard 2.5]]&lt;br /&gt;
This document refers to using the XML XSLT Web data adapter to retrieve XML data from supported SOAP web services and make it available in AppBoard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SOAP request overview ===&lt;br /&gt;
&lt;br /&gt;
Prior to configuring the AppBoard Data Adapter, you will need to fully construct the necessary SOAP request envelope that is submitted in the POST body of the HTTP request.  This envelope is itself an XML document that conforms to the SOAP XML message format.  A simple example follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[xml,N]&lt;br /&gt;
&amp;lt;soap:Envelope xmlns:soap=&amp;quot;http://www.w3.org/2003/05/soap-envelope&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;soap:Header&amp;gt;&lt;br /&gt;
  &amp;lt;/soap:Header&amp;gt;&lt;br /&gt;
  &amp;lt;soap:Body&amp;gt;&lt;br /&gt;
    &amp;lt;m:GetStockPrice xmlns:m=&amp;quot;http://www.example.org/stock&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;m:StockName&amp;gt;IBM&amp;lt;/m:StockName&amp;gt;&lt;br /&gt;
    &amp;lt;/m:GetStockPrice&amp;gt;&lt;br /&gt;
  &amp;lt;/soap:Body&amp;gt;&lt;br /&gt;
&amp;lt;/soap:Envelope&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SOAP URL and POST body creation ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The SOAP messages supported by a service are outlined in another XML file, the WSDL (Web Service Definition Language).  This can usually be retrieved from the web service directly by adding ?wsdl to the web service URL.  For example, a typical SOAP URL would look like http://wowws.comp.com/wowws/query, so http://wowws.comp.com/wowws/query?wsdl would return the definition file.&lt;br /&gt;
&lt;br /&gt;
Unless you are very familiar with SOAP web services, the suggested approach is to use a tool like soapUI (http://www.soapui.org/, select Download Free) or Eclipse to construct the SOAP envelope.&lt;br /&gt;
&lt;br /&gt;
=== Using soapUI ===&lt;br /&gt;
&lt;br /&gt;
After installing soapUI and determining the URL for the web service in question, follow this procedure to constuct the SOAP envelope:&lt;br /&gt;
&lt;br /&gt;
# Select &amp;#039;&amp;#039;&amp;#039;File&amp;#039;&amp;#039;&amp;#039; =&amp;gt; &amp;#039;&amp;#039;&amp;#039;New soapUI Project&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Enter desired &amp;#039;&amp;#039;&amp;#039;Project Name&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Enter WSDL URL by &amp;quot;Initial WSDL/WADL&amp;quot; (e.g. http://wowws/comp.com/query?wsdl) and click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# You should see a new entry in the &amp;#039;&amp;#039;&amp;#039;Projects&amp;#039;&amp;#039;&amp;#039; tree.  Select expand the new project and the &amp;#039;&amp;#039;&amp;#039;querySoapBinding&amp;#039;&amp;#039;&amp;#039; nodes to see a list of method calls supported.&lt;br /&gt;
# Double-click &amp;#039;&amp;#039;&amp;#039;Request 1&amp;#039;&amp;#039;&amp;#039; under the desired method, and you will see an XML body like the one that follows.  Edit the parameters as needed, and this is the POST body to use for the XMLWebServiceAdapter Data Source configuration.&lt;br /&gt;
&amp;lt;code&amp;gt;[xml,N]&lt;br /&gt;
&amp;lt;soapenv:Envelope xmlns:soapenv=&amp;quot;http://schemas.xmlsoap.org/soap/envelope/&amp;quot;&lt;br /&gt;
                  xmlns:ext=&amp;quot;http://external.wowws.plugin.wow.criticalsoftware.com/&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;soapenv:Header/&amp;gt;&lt;br /&gt;
   &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;
      &amp;lt;ext:queryDetails&amp;gt;&lt;br /&gt;
         &amp;lt;!--Optional:--&amp;gt;&lt;br /&gt;
         &amp;lt;query&amp;gt;&lt;br /&gt;
            &amp;lt;!--Optional:--&amp;gt;&lt;br /&gt;
            &amp;lt;applicationId&amp;gt;?&amp;lt;/applicationId&amp;gt;&lt;br /&gt;
            &amp;lt;!--Optional:--&amp;gt;&lt;br /&gt;
            &amp;lt;filter&amp;gt;?&amp;lt;/filter&amp;gt;&lt;br /&gt;
            &amp;lt;login&amp;gt;?&amp;lt;/login&amp;gt;&lt;br /&gt;
            &amp;lt;name&amp;gt;?&amp;lt;/name&amp;gt;&lt;br /&gt;
         &amp;lt;/query&amp;gt;&lt;br /&gt;
      &amp;lt;/ext:queryDetails&amp;gt;&lt;br /&gt;
   &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;
&amp;lt;/soapenv:Envelope&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Handling WS security with template ====&lt;br /&gt;
&lt;br /&gt;
If the web service in question requires web service authentication (distinct from Basic Authentication), you will need to either copy a template for the authentication or capture it from the HTTP log inside soapUI.  A template for version 1.0 is as follows (replace &amp;#039;&amp;#039;&amp;#039;USERNAME&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;PASSWORD&amp;#039;&amp;#039;&amp;#039; with appropriate values):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[xml,N]&lt;br /&gt;
&amp;lt;soapenv:Header&amp;gt;&lt;br /&gt;
  &amp;lt;wsse:Security soapenv:mustUnderstand=&amp;quot;1&amp;quot;&lt;br /&gt;
     xmlns:wsse=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;wsse:UsernameToken wsu:Id=&amp;quot;UsernameToken-10&amp;quot;&lt;br /&gt;
       xmlns:wsu=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;wsse:Username&amp;gt;USERNAME&amp;lt;/wsse:Username&amp;gt;&lt;br /&gt;
      &amp;lt;wsse:Password&lt;br /&gt;
         Type=&amp;quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText&amp;quot;&lt;br /&gt;
       &amp;gt;PASSWORD&amp;lt;/wsse:Password&amp;gt;&lt;br /&gt;
    &amp;lt;/wsse:UsernameToken&amp;gt;&lt;br /&gt;
  &amp;lt;/wsse:Security&amp;gt;&lt;br /&gt;
&amp;lt;/soapenv:Header&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Handling WS security with &amp;#039;&amp;#039;&amp;#039;soapUI&amp;#039;&amp;#039;&amp;#039; ====&lt;br /&gt;
&lt;br /&gt;
To use &amp;#039;&amp;#039;&amp;#039;soapUI&amp;#039;&amp;#039;&amp;#039;, you need to select &amp;#039;&amp;#039;&amp;#039;Aut&amp;#039;&amp;#039;&amp;#039; at the bottom of the request editor, enter &amp;#039;&amp;#039;&amp;#039;Username&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Password&amp;#039;&amp;#039;&amp;#039;, then run the request using the green arrow at the top of the editor.  You can then select &amp;#039;&amp;#039;&amp;#039;http log&amp;#039;&amp;#039;&amp;#039; at the bottom of soapUI&amp;#039;s window and look for the full request body in the debug statements (unfortunately, soapUI does not inject the authentication data into the main editor window).&lt;br /&gt;
&lt;br /&gt;
== Developing the XSLT ==&lt;br /&gt;
&lt;br /&gt;
For instructions on creating the XSLT necessary to parse the SOAP response into AppBoard data, see the [[appboard/2.5/builder/data_sources/web_service/xml-xslt-tutorial|XML XSLT Tutorial]].&lt;br /&gt;
&lt;br /&gt;
== Creating the Data Source ==&lt;br /&gt;
&lt;br /&gt;
# Add a new &amp;#039;&amp;#039;&amp;#039;Data Source&amp;#039;&amp;#039;&amp;#039; in &amp;#039;&amp;#039;&amp;#039;AppBoard&amp;#039;&amp;#039;&amp;#039;.  Select &amp;#039;&amp;#039;&amp;#039;Web Service&amp;#039;&amp;#039;&amp;#039; for type and then &amp;#039;&amp;#039;&amp;#039;XML XSLT Web&amp;#039;&amp;#039;&amp;#039;.  Enter a name for the source and click &amp;#039;&amp;#039;&amp;#039;Add Data Source&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;!--#:&amp;lt;br&amp;gt;[[File:AB-createSoapDS1.png|600px]]--&amp;gt;&lt;br /&gt;
#:&amp;lt;br&amp;gt;&lt;br /&gt;
# Enter the URL to the SOAP web service (e.g. http://wowws.comp.com/vineportalws-dev/query), the path to the stylesheet (e.g. ${application.home}/stylesheets/sample/soap-wowws.xsl), and paste the SOAP envelope into the &amp;#039;&amp;#039;&amp;#039;httpPostBody&amp;#039;&amp;#039;&amp;#039; field (click ... button first):&lt;br /&gt;
#:&amp;lt;br&amp;gt;[[File:File-AB-createSoapDS2.png|600px]]&lt;br /&gt;
#:&amp;lt;br&amp;gt;&lt;br /&gt;
# Verify the data types for the data collection(s) and continue configuring the data source and data collection(s) as per other adapters:&lt;br /&gt;
#:&amp;lt;br&amp;gt;[[File:File-AB-createSoapDS3.png|600px]]&lt;/div&gt;</summary>
		<author><name>imported&gt;David.moore</name></author>
	</entry>
</feed>