WSDL, Property Broker, Portal and Expeditor

Now that Expeditor 6.1 is out there and the Lotus Notes M4 beta is about to be released we have been getting some “proof is in the pudding” type of feedback about the Composite Application story. One area of constant confusion – which seems it has also been a point of confusion in portal for the longest time – are Property Broker WSDL's and specifically the syntax and the types.

The WSDL's may seem very complex when you are using an XML editor or a WSDL editor that does not support the Portlet binding. I am going to post some simple concepts that may ease the pain.

WSDL Types
You do not have to specify a custom type, in fact, we (IBM) are all in agreement that you should only specify a custom type if you absolutely must. So in short, it has to be a good reason to use a custom type. You should attempt to use basic types like “xsd:string”. Niklas posted a good write-up on this subject over on the Composite Application blog.




Portlet Binding
This is another area that is often very confusing. Myself and a colleague were up one late night looking at the portal documentation and realized much of the element is optional. In fact, all of it is. So if you just want to use the same names specified in your message section, then don't specify it at all in the portlet:param element. The element can be blank and the parser takes the message params in order. A snippet from the WSDL below shows how simple the portlet:param could look:




Here is a WSDL I have played with in Expeditor 6.1.1 (Notes M4 for those who are getting the beta). I have not tested it with Portal, but according to the documentation it will work. I will be testing it next week.

<definitions name="TargetPBTestService"
targetNamespace="http://com.ibm.propertybroker.standardtypes"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:portlet="http://www.ibm.com/wps/c2a"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://com.ibm.propertybroker.standardtypes"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">






























<portlet:action name="setText"
type="standard"
caption="Sets text in a window"
description="This action sets text in a window"
actionNameParameter="ACTION_NAME"/>






<portlet:action name="sendText"
type="standard"
caption="Sends text out"
description="This action send out text"
actionNameParameter="ACTION_NAME"/>










Tags:

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.