<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to extensions</title><link>https://sourceforge.net/p/tinywsdl/wiki/extensions/</link><description>Recent changes to extensions</description><atom:link href="https://sourceforge.net/p/tinywsdl/wiki/extensions/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 14 Jun 2013 09:12:51 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/tinywsdl/wiki/extensions/feed" rel="self" type="application/rss+xml"/><item><title>extensions modified by Ratoo</title><link>https://sourceforge.net/p/tinywsdl/wiki/extensions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -37,3 +37,17 @@
 ~~~~~~

 Here WSDLPredefinedExtension enumeration contains namespaces for WSDL 2.0 standard extensions.
+
+&lt;br /&gt;Semantic Annotations for WSDL and XML Schema (SAWSDL) is also implemented as an extension.
+
+~~~~~~
+SAWSDLInterfaceMessageReferenceExtensions ext = (SAWSDLInterfaceMessageReferenceExtensions)input.getComponentExtensions(WSDLPredefinedExtension.SAWSDL.URI);
+ext.addModelReference(URI.create("http://example.com/#ref"));
+~~~~~~
+
+Note that in case when [tinyXMLSchema](schema) is used it is also possible to annotate the referenced xs:element in the XML Schema.
+
+~~~~~~
+SAWSDLElementDeclarationExtensions elementExt = ext.getSAWSDLElementDeclarationExtensions();
+elementExt.addModelReference(URI.create("http://example.com/#ref"));
+~~~~~~
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ratoo</dc:creator><pubDate>Fri, 14 Jun 2013 09:12:51 -0000</pubDate><guid>https://sourceforge.netbef17e948730e1ab430a514426e4abb30aa142dd</guid></item><item><title>WikiPage extensions modified by Ratoo</title><link>https://sourceforge.net/p/tinywsdl/wiki/extensions/</link><description>&lt;pre&gt;--- v2
+++ v3
@@ -13,14 +13,14 @@
 ~~~~~~
 
 &lt;br/&gt; These methods are implemented in all WSDL 2.0 Components.
-Note that there is no any parsing is done and extensions are represented as DOM Element objects.
+Note that no parsing is performed and extensions are represented as DOM Element objects.
 
 ~~~~~~
 QName attribute = new QName("http://unknown", "param");
 description.setExtensionAttribute(attribute, "123");
 ~~~~~~
 
-&lt;br/&gt;Usually extensions are defined in their owl namespaces.
+&lt;br/&gt;Usually extensions are defined in their own namespaces.
 Even more flexibility may be achieved using tinyWSDL extension mechanism:
 
 ~~~~~~
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ratoo</dc:creator><pubDate>Wed, 01 Aug 2012 15:10:29 -0000</pubDate><guid>https://sourceforge.net594f7843dad83bc9cd667e056efd93a26f754979</guid></item><item><title>WikiPage extensions modified by Ratoo</title><link>https://sourceforge.net/p/tinywsdl/wiki/extensions/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -13,12 +13,27 @@
 ~~~~~~
 
 &lt;br/&gt; These methods are implemented in all WSDL 2.0 Components.
+Note that there is no any parsing is done and extensions are represented as DOM Element objects.
 
 ~~~~~~
 QName attribute = new QName("http://unknown", "param");
 description.setExtensionAttribute(attribute, "123");
 ~~~~~~
 
-Usually extensions are defined in their owl namespaces.
+&lt;br/&gt;Usually extensions are defined in their owl namespaces.
 Even more flexibility may be achieved using tinyWSDL extension mechanism:
 
+~~~~~~
+WSDLComponentExtensions extensions = description.getComponentExtensions(URI.create("http://unknown"));
+Map&lt;QName, String&gt; attributes = extensions.getExtensionAttributes();
+~~~~~~
+
+&lt;br/&gt;For convenience tinyWSDL implements all WSDL 2.0 Adjuncts extensions, so there is no need to use DOM model.
+
+~~~~~~
+SOAPEndpointExtensions extensions = (SOAPEndpointExtensions)endpoint.getComponentExtensions(WSDLPredefinedExtension.SOAP.URI);
+extensions.setHttpAuthenticationRealm("user");
+extensions.setHttpAuthenticationScheme(HTTPAuthenticationScheme.BASIC);
+~~~~~~
+
+Here WSDLPredefinedExtension enumeration contains namespaces for WSDL 2.0 standard extensions.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ratoo</dc:creator><pubDate>Tue, 31 Jul 2012 14:20:39 -0000</pubDate><guid>https://sourceforge.net60344ac7cae209edddc72070a8a906268843b93d</guid></item><item><title>WikiPage extensions modified by Ratoo</title><link>https://sourceforge.net/p/tinywsdl/wiki/extensions/</link><description>Working with WSDL 2.0 extensions.
---

tinyWSDL provides two ways to work with WSDL extensions.
First, it is possible to access to all "unknown" attributes and elements directly:

~~~~~~
public String getExtensionAttribute(QName name);
public String setExtensionAttribute(QName name, String value);    
public List&lt;Element&gt; getExtensionElements(QName name);
public void addExtensionElement(QName name, Element extElement);
public void removeExtensionElement(Element extElement);
~~~~~~

&lt;br/&gt; These methods are implemented in all WSDL 2.0 Components.

~~~~~~
QName attribute = new QName("http://unknown", "param");
description.setExtensionAttribute(attribute, "123");
~~~~~~

Usually extensions are defined in their owl namespaces.
Even more flexibility may be achieved using tinyWSDL extension mechanism:

</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ratoo</dc:creator><pubDate>Tue, 31 Jul 2012 13:24:25 -0000</pubDate><guid>https://sourceforge.net27f04d772e637fe6638156399ef1b38d49148279</guid></item></channel></rss>