Assigned: http://www.osoa.org/jira/browse/BP-61
From: Dieter Koenig1
[mailto:dieterkoenig@de.ibm.com]
Sent: Tuesday, December 02, 2008 12:17
To: bpel4people@lists.oasis-open.org
Subject: [bpel4people] New Issue: Cleanup tTask Definitions
Target: WS-HumanTask 1.1, ws-humantask-types.xsd
Description: Two different ‘kinds’ of the tTask type exist in WS-HT:
1. In ‘ws-humantask.xsd’, tTask is part of the WS HT language definition.
2. In ‘ws-humantask-types.xsd’, the tTask defines the information structure of
the result that is delivered when getTaskDetails() or getMyTasks() are invoked.
While this is not an XML Schema or WSDL bug, it is not consistent and therefore
confusing.
Proposal: Consistently use the following naming conventions:
- Continue to use tTask as part of the WS-HT language XML Schema (that is, no
change in ws-humantask.xsd)
- For the WS-HT data types XML Schema and the WS-HT API, use:
o tTaskAbstract and getMyTaskAbstracts()
o tTaskDetails and getMyTaskDetails(),
getTaskDetails()
A: Rename the tTask type and the task element in ws-humantask-types.xsd:
<xsd:element name="taskDetails"
type="tTaskDetails"
/>
<xsd:complexType
name="tTaskDetails">
<xsd:sequence>
<xsd:element name="id" type="xsd:string"
/>
<xsd:element name="taskType"
type="xsd:string"
/>
…
B: Rename the getMyTasks() operation in ws-humantask-api.wsdl:
<wsdl:operation
name="getMyTasks">
<wsdl:input message="getMyTasks"/>
<wsdl:output message="getMyTasksResponse"/>
<wsdl:fault message="illegalStateFault"
name="illegalStateFault"/>
<wsdl:fault message="illegalArgumentFault"
name="illegalArgumentFault"/>
</wsdl:operation>
to:
<wsdl:operation
name="getMyTaskDetails">
<wsdl:input message="getMyTaskDetails"/>
<wsdl:output message="getMyTaskDetailsResponse"/>
<wsdl:fault message="illegalStateFault"
name="illegalStateFault"/>
<wsdl:fault message="illegalArgumentFault"
name="illegalArgumentFault"/>
</wsdl:operation>
and
<wsdl:operation
name="getTaskInfo">
<wsdl:input message="getTaskInfo"/>
<wsdl:output message="getTaskInfoResponse"/>
<wsdl:fault message="illegalArgumentFault"
name="illegalArgumentFault"/>
</wsdl:operation>
to:
<wsdl:operation
name="getTaskDetails">
<wsdl:input message="getTaskDetails"/>
<wsdl:output message="getTaskDetailsResponse"/>
<wsdl:fault message="illegalArgumentFault"
name="illegalArgumentFault"/>
</wsdl:operation>
C: Adapt the corresponding WSDL messages in ws-humantask-api.wsdl from:
<wsdl:message name="getMyTasks">
<wsdl:part element="getMyTasks"
name="getMyTasks"/>
</wsdl:message>
to:
<wsdl:message name="getMyTaskDetails">
<wsdl:part element="getMyTaskDetails"
name="getMyTaskDetails"/>
</wsdl:message>
and from:
<wsdl:message name="getMyTasksResponse">
<wsdl:part element="getMyTasksResponse"
name="getMyTasksResponse"/>
</wsdl:message>
to:
<wsdl:message name="getMyTaskDetailsResponse">
<wsdl:part element="getMyTaskDetailsResponse"
name="getMyTaskDetailsResponse"/>
</wsdl:message>
and from:
<wsdl:message name="getTaskInfo">
<wsdl:part element="getTaskInfo"
name="getTaskInfo"/>
</wsdl:message>
to:
<wsdl:message name="getTaskDetails">
<wsdl:part element="getTaskDetails"
name="getTaskDetails"/>
</wsdl:message>
and from:
<wsdl:message name="getTaskInfoResponse">
<wsdl:part element="getTaskInfoResponse"
name="getTaskInfoResponse"/>
</wsdl:message>
to:
<wsdl:message name="getTaskDetailsResponse">
<wsdl:part element="getTaskDetailsResponse"
name="getTaskDetailsResponse"/>
</wsdl:message>
D: Adapt the input/output wrapper elements in ws-humantask-api.wsdl from:
<xsd:element name="getMyTasks">
<xsd:complexType>
<xsd:sequence>
…
to:
<xsd:element name="getMyTaskDetails">
<xsd:complexType>
<xsd:sequence>
and from:
<xsd:element name="getMyTasksResponse">
<xsd:complexType>
to:
<xsd:element name="getMyTaskDetailsResponse">
<xsd:complexType>
and from:
<xsd:element name="getTaskInfo">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identifier" type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
to:
<xsd:element name="getTaskDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identifier"
type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
and from:
<xsd:element name="getTaskInfoResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="task" type="htt:tTask"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
to:
<xsd:element name="getTaskDetailsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="taskDetails" type="htt:tTaskDetails"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Kind Regards
Dieter König
Senior
Technical Staff Member, WebSphere Process Server Architect
IBM
Software Group, Application and Integration Middleware Software
WSS
Business Process Solutions
|
|
Phone:
|
+49-7031-16-3426
|
IBM Deutschland
|
|
E-Mail:
|
dieterkoenig@de.ibm.com
|
Schönaicher Str. 220
|
|
|
71032 Böblingen
|
|
|
Germany
|
|
|
IBM Deutschland Research & Development GmbH / Vorsitzender
des Aufsichtsrats: Martin Jetter
Geschäftsführung: Erich Baier
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart,
HRB 243294
|