<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>lekkimworld.comwsdl</title>
    <link>http://lekkimworld.com/tags/wsdl/</link>
    <description>IBM Lotus Notes/Domino, Websphere, IBM Connections, mobile, web, JavaScript, Java...</description>
    <language>en</language>
    <copyright>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</copyright>
    <pubDate>Sat, 19 May 2012 06:50:25 GMT</pubDate>
    <dc:creator>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:creator>
    <dc:date>2012-05-19T06:50:25Z</dc:date>
    <dc:language>en</dc:language>
    <dc:rights>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:rights>
    <image>
      <title>lekkimworld.comwsdl</title>
      <url>http://lekkimworld.com/tags/wsdl/</url>
    </image>
    <item>
      <title>SOAP Headers in Lotus Domino web service consumers and providers</title>
      <link>http://lekkimworld.com/2012/02/08/soap_headers_in_lotus_domino_web_service_consumers_and_providers.html</link>
      <content:encoded>&lt;p&gt;
In a current project we're using the web service consumer and web server provider capability of Lotus Domino quite heavily. During the development the need to process the SOAP request headers which are provided in a section above the SOAP body. Problem is that these are not exposed through the proxy classes generated for you when you import the WSDL. Searching Google I came across the blog of Elena Neroslavskaya and more importantly the post that &lt;a href="http://enerosweb.wordpress.com/2010/07/28/lotusdomino-8-5-webservice-provider-manipulating-soap-header/"&gt;helped me out&lt;/a&gt;. Using the MessageContext class described in that blog post helped me crack the nut and now I can both iterate through the SOAP headers sent to me in the request and send SOAP headers back in the response. Sweet!
&lt;/p&gt;
&lt;p&gt;
Below are two code snippets - one for iterating through request headers and one for sending headers back. Home it may help someone out there.
&lt;/p&gt;
&lt;h3&gt;Iterate received headers&lt;/h3&gt;
&lt;pre class="prettyprint"&gt;
private void recurseHeaders(Iterator ite) { 
  while (ite.hasNext()) { 
    MessageElement elem = (MessageElement)ite.next(); 
    String nsUri = elem.getNamespaceURI(); 
    String name = elem.getName(); 
    String value = elem.getValue();
    System.out.println("SOAP Header - ns &lt;" + 
      nsUri + "&gt;, name &lt;" + name + "&gt;, value &lt;" + 
      value + "&gt;"); 
    this.recurseHeaders(elem.getChildElements()); 
  } 
} 

public com.example.FooResponseType foo(
  com.example.FooRequestType req) throws Exception { 
  
  MessageContext mc = MessageContext.getCurrentContext(); 
  SOAPEnvelope envelope = mc.getRequestMessage()
    .getSOAPEnvelope(); 
  this.recurseHeaders(
    envelope.getHeader().getChildElements()); 
}
&lt;/pre&gt;
&lt;h3&gt;Send back headers&lt;/h3&gt;
&lt;pre class="prettyprint"&gt;
import lotus.domino.axis.message.SOAPHeaderElement;
import lotus.domino.axis.message.MessageElement;

MessageElement elemGuid = 
  new MessageElement("http://lekkimworld.com", "Guid"); 
elemGuid.addTextNode("GuidXYZ"); 

MessageElement elemUser = 
  new MessageElement("http://lekkimworld.com", "User"); 
elemUser.addTextNode("UserXYZ"); 

SOAPHeaderElement elemHeader = 
  new SOAPHeaderElement("http://lekkimworld.com", "TopElem"); 
elemHeader.addChild(elemGuid); 
elemHeader.addChild(elemUser); 

mc.getResponseMessage()
  .getSOAPEnvelope().addHeader(elemHeader); 
&lt;/pre&gt;
&lt;link href="http://lekkimworld.com/files/prettyprint/prettify.css" type="text/css" rel="stylesheet" /&gt;
&lt;script type="text/javascript" src="http://lekkimworld.com/files/prettyprint/prettify.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
prettyPrint();
&lt;/script&gt;</content:encoded>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/webservices/">webservices</category>
      <category domain="http://lekkimworld.com/tags/wsdl/">wsdl</category>
      <pubDate>Wed, 08 Feb 2012 14:41:06 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2012-02-08:default/1328712066968</guid>
      <dc:date>2012-02-08T14:41:06Z</dc:date>
    </item>
    <item>
      <title>Discovering Notes 8: WSDL editing</title>
      <link>http://lekkimworld.com/2007/08/29/discovering_notes_8_wsdl_editing.html</link>
      <content:encoded>&lt;p&gt;
&lt;img src="http://lekkimworld.com/images/notes8/notes8_100px.jpg" style="float: left; "/&gt;
If you're running Notes 8 and starting to look into composite applications (CA) you'll need a tool to edit WSDL files unless you're the notepad-type. Even I is getting past that point and starting to resort to GUI editors so maybe you should to. Fortunately for us all there is no need to look further than your &lt;a href="http://www.eclipse.org"&gt;favorite IDE&lt;/a&gt; (which is even more true after Notes 8 has been released). 
&lt;/p&gt;
&lt;p&gt;
In Eclipse the WSDL editor is provided by the &lt;a href="http://www.eclipse.org/webtools/main.php"&gt;Web Tools Platform (WTP) Project&lt;/a&gt; which can easily be installed on top of the standard free Eclipse IDE. I used Eclipse 3.3 but you might as well use Eclipse 3.2 or even 3.1 I think.
&lt;/p&gt;
&lt;p&gt;
Installation is as easy as 1, 2, 3:
&lt;ol&gt;
&lt;li&gt;Add a remote update site to http://download.eclipse.org/webtools/updates/&lt;/li&gt;
&lt;li&gt;Once prompted for the components to install select "Web Standard Tools (WST)" feature in the "Web Tools Project (WTP)" category (see screenshot)&lt;br/&gt;&lt;img src="http://lekkimworld.com/images/notes8/wst/eclipse33_wst_install.jpg" /&gt;&lt;/li&gt;
&lt;li&gt;Install and sit back and wait while the installation runs to completion&lt;/li&gt;
&lt;/ol&gt;
&lt;/p&gt;
&lt;p&gt;
To show of the WSDL editing capabilities of the Eclipse editor I created a simple WSDL file with two math functions (add and subtract) as shown below. 
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://lekkimworld.com/images/notes8/wst/eclipse33_wst_wsdl.jpg" /&gt;
&lt;/p&gt;
&lt;p&gt;
Afterwards I imported the WSDL file into a Java web service in Domino Designer but it could as well have been LotusScript. Nice ha?
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://lekkimworld.com/images/notes8/wst/notes8_ws_import_java.jpg" /&gt;
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/ibm_products/">IBM</category>
      <category domain="http://lekkimworld.com/tags/composite_application/">composite_application</category>
      <category domain="http://lekkimworld.com/tags/discovering_notes8/">discovering_notes8</category>
      <category domain="http://lekkimworld.com/tags/notes8/">notes8</category>
      <category domain="http://lekkimworld.com/tags/wsdl/">wsdl</category>
      <pubDate>Wed, 29 Aug 2007 12:11:21 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2007-08-29:default/1188389481779</guid>
      <dc:date>2007-08-29T12:11:21Z</dc:date>
    </item>
  </channel>
</rss>


