[OGSA-BES-WG] [ogsa-hpcp-wg] Problems

Christopher Smith csmith at platform.com
Wed Oct 18 12:58:50 CDT 2006


Should the CreateActivityResponseType also have a minOccurs="0" for the
Fault element?

-- Chris



On 18/10/06 10:53, "Peter G. Lane" <lane at mcs.anl.gov> wrote:

> Mark Morgan wrote:
>> I think that there are additional problems with the WSDL and XSD for
>> bes-factory in that the result types that have Fault elements inside all
>> assume a cardinatlity of [1, 1] when it seems clear to me that the type
>> should be of cardinality [0, 1].
> 
> Good catch. Here's a version of the .wsdl and .xsd with Fault elements as
> optional..
> 
> Peter
> 
>> 
>> -Mark
>> 
>> --
>> Mark Morgan
>> Research Scientist
>> Department of Computer Science
>> University of Virginia
>> http://www.cs.virginia.edu
>> mmm2a at virginia.edu
>> (434) 982-2047
>> 
>> --
>>   ogsa-hpcp-wg mailing list
>>   ogsa-hpcp-wg at ogf.org
>>   http://www.ogf.org/mailman/listinfo/ogsa-hpcp-wg
>> 
> 
> <wsdl:definitions name="BESFactory"
>     targetNamespace="http://schemas.ggf.org/bes/2006/08/bes-factory"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:bes-factory="http://schemas.ggf.org/bes/2006/08/bes-factory"
>     xmlns:wsa="http://www.w3/org/2005/08/addressing"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >
> 
> <wsdl:types>
>   <xsd:schema
>       xmlns:wsa="http://www.w3.org/2005/08/addressing"
>       attributeFormDefault="unqualified"
>       elementFormDefault="qualified"
>       targetNamespace="http://schemas.ggf.org/bes/2006/08/bes-factory">
> 
>       <xsd:include schemaLocation="bes-factory.xsd"/>
> 
>       <!-- Message Types -->
>       <xsd:complexType name="CreateActivityType">
>         <xsd:sequence>
>           <xsd:element ref="bes-factory:ActivityDocument"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="CreateActivityResponseType">
>         <xsd:sequence>
>           <xsd:element ref="bes-factory:ActivityIdentifier"/>
>           <xsd:element ref="bes-factory:ActivityDocument" minOccurs="0"/>
>           <xsd:element name="Fault" type="xsd:anyType"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="GetActivityStatusesType">
>          <xsd:sequence>
>            <xsd:element name="ActivityIdentifier"
>                type="wsa:EndpointReferenceType"
>                maxOccurs="unbounded"/>
>          </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="GetActivityStatusesResponseType">
>          <xsd:sequence>
>            <xsd:element name="Response"
>                type="bes-factory:GetActivityStatusResponseType"
>                maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="TerminateActivitiesType">
>         <xsd:sequence>
>           <xsd:element ref="bes-factory:ActivityIdentifier"
>               minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="TerminateActivitiesResponseType">
>         <xsd:sequence>
>           <xsd:element name="Response"
>               type="bes-factory:TerminateActivityResponseType"
>               minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="GetActivityDocumentsType">
>         <xsd:sequence>
>           <xsd:element ref="bes-factory:ActivityIdentifier"
>               minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="GetActivityDocumentsResponseType">
>         <xsd:sequence>
>           <xsd:element name="Response"
>               type="bes-factory:GetActivityDocumentResponseType"
>               minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <xsd:complexType name="GetFactoryAttributesDocumentType"/>
> 
>       <xsd:complexType name="GetFactoryAttributesDocumentResponseType">
>         <xsd:sequence>
>           <xsd:element
>               ref="bes-factory:FactoryResourceAttributesDocument"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <!-- Fault Types  -->
>       <xsd:complexType name="NotAcceptingNewActivitiesFaultType"/>
> 
>       <xsd:complexType name="UnsupportedJSDLVersionFaultType"/>
> 
>       <xsd:complexType name="UnsupportedFeatureFaultType">
>         <xsd:sequence>
>           <xsd:element name="Feature" type="xsd:string"
>             minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:complexType>
> 
>       <!-- Message Elements -->
>       <xsd:element name="CreateActivity"
>         type="bes-factory:CreateActivityType"/>
>       <xsd:element name="CreateActivityResponse"
>         type="bes-factory:CreateActivityResponseType"/>
>       <xsd:element name="GetActivityStatuses"
>         type="bes-factory:GetActivityStatusesType"/>
>       <xsd:element name="GetActivityStatusesResponse"
>         type="bes-factory:GetActivityStatusesResponseType"/>
>       <xsd:element name="TerminateActivities"
>         type="bes-factory:TerminateActivitiesType"/>
>       <xsd:element name="TerminateActivitiesResponse"
>         type="bes-factory:TerminateActivitiesResponseType"/>
>       <xsd:element name="GetActivityDocuments"
>         type="bes-factory:GetActivityDocumentsType"/>
>       <xsd:element name="GetActivityDocumentsResponse"
>         type="bes-factory:GetActivityDocumentsResponseType"/>
>       <xsd:element name="GetFactoryAttributesDocument"
>         type="bes-factory:GetFactoryAttributesDocumentType"/>
>       <xsd:element name="GetFactoryAttributesDocumentResponse"
>         type="bes-factory:GetFactoryAttributesDocumentResponseType"/>
> 
>       <!-- Fault Elements -->
>       <xsd:element name="NotAcceptingNewActivitiesFault"
>         type="bes-factory:NotAcceptingNewActivitiesFaultType"/>
>       <xsd:element name="UnsupportedJSDLVersionFault"
>         type="bes-factory:UnsupportedJSDLVersionFaultType"/>
>       <xsd:element name="UnsupportedFeatureFault"
>         type="bes-factory:UnsupportedFeatureFaultType"/>
> 
>   </xsd:schema>
> </wsdl:types>
> 
>   <!-- Messages -->
>   <wsdl:message name="CreateActivityRequest">
>       <wsdl:part name="CreateActivityRequest"
>           element="bes-factory:CreateActivity"/>
>   </wsdl:message>
> 
>   <wsdl:message name="CreateActivityResponse">
>       <wsdl:part name="CreateActivityResponse"
>           element="bes-factory:CreateActivityResponse"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetActivityStatusesRequest">
>       <wsdl:part name="GetActivityStatusesRequest"
>           element="bes-factory:GetActivityStatuses"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetActivityStatusesResponse">
>       <wsdl:part name="GetActivityStatusesResponse"
>           element="bes-factory:GetActivityStatusesResponse"/>
>   </wsdl:message>
> 
>   <wsdl:message name="TerminateActivitiesRequest">
>       <wsdl:part name="TerminateActivitiesRequest"
>           element="bes-factory:TerminateActivities"/>
>   </wsdl:message>
> 
>   <wsdl:message name="TerminateActivitiesResponse">
>       <wsdl:part name="TerminateActivitiesResponse"
>           element="bes-factory:TerminateActivitiesResponse"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetActivityDocumentsRequest">
>       <wsdl:part name="GetActivityDocumentsRequest"
>           element="bes-factory:GetActivityDocuments"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetActivityDocumentsResponse">
>       <wsdl:part name="GetActivityDocumentsResponse"
>           element="bes-factory:GetActivityDocumentsResponse"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetFactoryAttributesDocumentRequest">
>       <wsdl:part name="GetFactoryAttributesDocumentRequest"
>           element="bes-factory:GetFactoryAttributesDocument"/>
>   </wsdl:message>
> 
>   <wsdl:message name="GetFactoryAttributesDocumentResponse">
>       <wsdl:part name="GetFactoryAttributesDocumentResponse"
>           element="bes-factory:GetFactoryAttributesDocumentResponse"/>
>   </wsdl:message>
> 
>   <!-- Port Types -->
>   <wsdl:portType name="BESFactoryPortType">
> 
>     <wsdl:operation name="CreateActivity">
>         <wsdl:input
>             message="bes-factory:CreateActivityRequest"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> CreateActivity"/>
>         <wsdl:output
>             message="bes-factory:CreateActivityResponse"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> CreateActivityResponse"/>
>     </wsdl:operation>
> 
>     <wsdl:operation name="GetActivityStatuses">
>         <wsdl:input
>             message="bes-factory:GetActivityStatusesRequest"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetActivityStatuses"/>
>         <wsdl:output
>             message="bes-factory:GetActivityStatusesResponse"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetActivityStatusesResponse"/>
>     </wsdl:operation>
> 
>     <wsdl:operation name="TerminateActivities">
>         <wsdl:input
>             message="bes-factory:TerminateActivitiesRequest"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> TerminateActivities"/>
>         <wsdl:output
>             message="bes-factory:TerminateActivitiesResponse"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> TerminateActivitiesResponse"/>
>     </wsdl:operation>
> 
>     <wsdl:operation name="GetActivityDocuments">
>         <wsdl:input
>             message="bes-factory:GetActivityDocumentsRequest"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetActivityDocuments"/>
>         <wsdl:output
>             message="bes-factory:GetActivityDocumentsResponse"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetActivityDocumentsResponse"/>
>     </wsdl:operation>
> 
>     <wsdl:operation name="GetFactoryAttributesDocument">
>         <wsdl:input
>             message="bes-factory:GetFactoryAttributesDocumentRequest"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetFactoryAttributesDocument"/>
>         <wsdl:output
>             message="bes-factory:GetFactoryAttributesDocumentResponse"
>             
> wsa:Action="http://schemas.ggf.org/bes/2006/08/bes-factory/BESFactoryPortType/
> GetFactoryAttributesDocumentResponse"/>
>     </wsdl:operation>
>   </wsdl:portType>
> </wsdl:definitions>
> <xsd:schema
>     targetNamespace="http://schemas.ggf.org/bes/2006/08/bes-factory"
>     xmlns="http://schemas.ggf.org/bes/2006/08/bes-factory"
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:wsa="http://www.w3.org/2005/08/addressing"
>     xmlns:bes-factory="http://schemas.ggf.org/bes/2006/08/bes-factory"
>     xmlns:jsdl="http://schemas.ggf.org/jsdl/2005/11/jsdl"
>     elementFormDefault="qualified"
>     attributeFormDefault="unqualified">
> 
>   <xsd:import
>       namespace="http://www.w3.org/2005/08/addressing"
>       schemaLocation="./ws-addr.xsd"/>
> 
>   <xsd:import
>       namespace="http://schemas.ggf.org/jsdl/2005/11/jsdl"
>       schemaLocation="./jsdl.xsd"/>
> 
>   <xsd:import
>       namespace="http://www.w3.org/2003/05/soap-envelope"
>       schemaLocation="./soap-env.xsd"/>
> 
>   <!-- Attribute Document Types -->
>   <xsd:complexType name="BasicFactoryResourceAttributesDocumentType">
>     <xsd:sequence>
>       <xsd:element name="OperatingSystem" type="jsdl:OperatingSystem_Type"
>  minOccurs="0"/>
>       <xsd:element name="CPUArchitecture" type="jsdl:CPUArchitecture_Type"
>  minOccurs="0"/>
>       <xsd:element name="CPUCount" type="xsd:unsignedInt"
>  minOccurs="0"/>
>       <xsd:element name="CPUSpeed" type="xsd:unsignedLong"
>  minOccurs="0"/>
>       <xsd:element name="PhysicalMemory" type="xsd:unsignedLong"
>  minOccurs="0"/>
>       <xsd:element name="VirtualMemory" type="xsd:unsignedLong"
>  minOccurs="0"/>
>       <xsd:any namespace="##other" processContents="lax"
>           minOccurs="0" maxOccurs="unbounded"/>
>     </xsd:sequence>
>   </xsd:complexType>
> 
>   <xsd:complexType name="FactoryResourceAttributesDocumentType">
>     <xsd:complexContent>
>       <xsd:extension
> base="bes-factory:BasicFactoryResourceAttributesDocumentType">
>         <xsd:sequence>
>           <xsd:element name="IsAcceptingNewActivities"
>               type="xsd:boolean" minOccurs="1" maxOccurs ="1"/>
>           <xsd:element name="CommonName" type="xsd:string"
>               minOccurs="0" maxOccurs ="1"/>
>           <xsd:element name="LongDescription" type="xsd:string"
>               minOccurs="0" maxOccurs ="1"/>
>           <xsd:element name="TotalNumberOfActivities"
>               type="xsd:unsignedInt" minOccurs="1" maxOccurs ="1"/>
>           <xsd:element name="LocalResourceManagerType"
>        type="xsd:QName"/>
>           <xsd:element name="ActivityReference"
>        type="wsa:EndpointReferenceType"
>               minOccurs="0" maxOccurs="unbounded"/>
>           <xsd:element name="ContainedResourceAttributes"
>               type="xsd:anyType" minOccurs="0" maxOccurs="unbounded"/>
>           <xsd:element name="NamingProfile"
>               type="xsd:QName" minOccurs="1" maxOccurs ="1"/>
>           <xsd:any namespace="##other" processContents="lax"
>               minOccurs="0" maxOccurs="unbounded"/>
>         </xsd:sequence>
>       </xsd:extension>
>     </xsd:complexContent>
>   </xsd:complexType>
> 
>   <!-- Message Helper Types -->
>   <xsd:complexType name="ActivityDocumentType">
>     <xsd:sequence>
>       <xsd:element ref="jsdl:JobDefinition"/>
>       <xsd:any namespace="##other" processContents="lax"
>           minOccurs="0" maxOccurs="unbounded"/>
>     </xsd:sequence>
>   </xsd:complexType>
> 
>   <xsd:complexType name="ActivityStatusType">
>     <xsd:choice>
>       <xsd:element name="Pending" type="xsd:anyType"/>
>       <xsd:element name="Running" type="xsd:anyType"/>
>       <xsd:element name="Cancelled" type="xsd:anyType"/>
>       <xsd:element name="Failed" type="xsd:anyType"/>
>       <xsd:element name="Finished" type="xsd:anyType"/>
>     </xsd:choice>
>   </xsd:complexType>
> 
>   <xsd:complexType name="GetActivityStatusResponseType">
>     <xsd:sequence>
>       <xsd:element ref="bes-factory:ActivityIdentifier"/>
>       <xsd:element ref="bes-factory:ActivityStatus" minOccurs="0"/>
>       <xsd:element name="Fault" type="xsd:anyType"/>
>     </xsd:sequence>
>   </xsd:complexType>
> 
>   <xsd:complexType name="GetActivityDocumentResponseType">
>     <xsd:sequence>
>       <xsd:element ref="bes-factory:ActivityIdentifier"/>
>       <xsd:element ref="jsdl:JobDefinition" minOccurs="0"/>
>       <xsd:element name="Fault" type="xsd:anyType"/>
>     </xsd:sequence>
>   </xsd:complexType>
> 
>   <xsd:complexType name="TerminateActivityResponseType">
>     <xsd:sequence>
>       <xsd:element ref="bes-factory:ActivityIdentifier"/>
>       <xsd:element name="Cancelled" type="xsd:boolean"/>
>       <xsd:element name="Fault" type="xsd:anyType"/>
>     </xsd:sequence>
>   </xsd:complexType>
> 
>   <!-- Message Helper Elements -->
>   <xsd:element name="BasicFactoryResourceAttributseDocument"
> type="bes-factory:BasicFactoryResourceAttributesDocumentType"/>
>   <xsd:element name="FactoryResourceAttributesDocument"
> type="bes-factory:FactoryResourceAttributesDocumentType"/>
>   <xsd:element name="ActivityDocument"
> type="bes-factory:ActivityDocumentType"/>
>   <xsd:element name="ActivityIdentifier"
> type="wsa:EndpointReferenceType"/>
>   <xsd:element name="ActivityStatus"
> type="bes-factory:ActivityStatusType"/>
> 
> </xsd:schema>
> --
>   ogsa-bes-wg mailing list
>   ogsa-bes-wg at ogf.org
>   http://www.ogf.org/mailman/listinfo/ogsa-bes-wg



More information about the ogsa-bes-wg mailing list