[ogsa-hpcp-wg] Another Problem (maybe?) in the WSDL

Mark M. Morgan mmm2a at cs.virginia.edu
Sat Oct 21 07:15:18 CDT 2006


> We're using Axis version 1.5 and it seems to work fine:

Ah, my bad -- we're still using 1.4

> While I understand what you're saying, I also think this can be a slippery 
> slope. Admittedly the change you're asking for is quite minor, but my 
> stubbornness kicks in when I think of it like this: how do we attain 
> interoperability without making everybody implement N different variations 
> of the specs we use? If we let people be non-conformant and even bend over 
> backwards when they are non-conformant, we're putting the burden on 
> everybody to accomodate all non-conformant variations that may pop up. 
> That's no way to operate in my mind. You should define the dimensions of 
> your widget and then mass produce it. Slight variations may occur within 
> tolerances, but element refs to me isn't within tolerances. They're pretty 
> fundamental IMHO.

Well, my experience has been that WSDL, like C++ of old, has gotten too
complicated and as such, NO ONE correctly implements it 100%.  This happens
to be a problem that mine has -- next it could be yours.

> Anyway, I'm off my soap (no pun intended) box. Since the change is rather 
> benign, I'm not going to get in a tiff if others agree this is worth doing. 
> But if you want to switch to a working Axis version, you're welcome to use 
> the Globus Toolkit! ;-)

That's OK -- like I said, I don't believe yours is 100% correct either, so I'll
stick with the one I know and can fix.  And don't worry about the WSDL, I just
thought we might want to find a common subset of WSDL that everyone understands,
but seeing as how this isn't the trivial issue I thought it was, I'll just
post an alternate but equivalent form of the WSDL that people using Axis 1.4
can use.

-Mark

> 
> Peter
> 
> >-Mark
> >
> >On Fri, Oct 20, 2006 at 04:41:55PM -0600, Peter G. Lane wrote:
> >>Doesn't JSDL cause problems for your tooling as well? Element refs are a 
> >>very common XMLSchema feature. JSDL uses quite a number of them. What 
> >>about the HPCProfileApplication schema? I'm wondering whether changing 
> >>the BES schema would actually help that much. I'm also worried that 
> >>changing the demo copy of the schema for broken tooling would cause those 
> >>changes to get propagated to the normative BES schema. My personal 
> >>preference is that you change it locally rather than forcing us to 
> >>endorse the change.
> >>
> >>Peter
> >>
> >>Mark Morgan wrote:
> >>>OK -- I thought as much.  So, my tooling is bad -- can we change the WSDL
> >>>anyway since the change shouldn't only be duplicate information for other
> >>>peoples tooling (the goal is to be maximally interoperable right?).
> >>>Ofcourse, I have to change the WSDL one way or the other, would just 
> >>>like to
> >>>use the same WSDL everyone else is using.
> >>>
> >>>-Mark 
> >>>
> >>>>-----Original Message-----
> >>>>From: Peter G. Lane [mailto:lane at mcs.anl.gov] 
> >>>>Sent: Friday, October 20, 2006 5:04 PM
> >>>>To: Mark Morgan
> >>>>Cc: ogsa-hpcp-wg at ggf.org
> >>>>Subject: Re: [ogsa-hpcp-wg] Another Problem (maybe?) in the WSDL
> >>>>
> >>>>From the XMLSchema spec 
> >>>>(http://www.w3.org/TR/xmlschema11-1/#cElement_Declarations):
> >>>>
> >>>>"The (top-level) element declaration .resolved. to by the 
> >>>>.actual value. of the ref [attribute]."
> >>>>
> >>>>This means essentially that the global element declaration 
> >>>>will be substituted for the element reference. In other 
> >>>>words, the name must be "ActivityIdentifier" in the 
> >>>>bes-factory namespace. If your tooling isn't doing this then 
> >>>>it's non-compliant.
> >>>>
> >>>>Peter
> >>>>
> >>>>Mark Morgan wrote:
> >>>>>In trying to interop with Glenn's endpoint, I have found another 
> >>>>>potential problem with the BES-Factory's WSDL.  However, 
> >>>>the problem 
> >>>>>is at a level of WSDL that is slightly beyond my experience.  In 
> >>>>>particular, the problem is with two message types; the 
> >>>>>GetActivityDocuments message type, and the TerminateActivitiesType 
> >>>>>message.  Both problems are identical.  In brief, here are three 
> >>>>>elements from the WSDL (the first of which is an example of a type 
> >>>>>declaration which works for me, and the latter two being 
> >>>>the problem declarations).
> >>>>>	<xsd:complexType name="GetActivityStatusesType">
> >>>>>        <xsd:sequence>
> >>>>>          <xsd:element name="ActivityIdentifier"
> >>>>>              type="wsa:EndpointReferenceType"
> >>>>>              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="TerminateActivitiesType">
> >>>>>       <xsd:sequence>
> >>>>>         <xsd:element ref="bes-factory:ActivityIdentifier"
> >>>>>             minOccurs="0" maxOccurs="unbounded"/>
> >>>>>       </xsd:sequence>
> >>>>>     </xsd:complexType>
> >>>>>
> >>>>>The first one works for me, and the last two do not.  The 
> >>>>problem with 
> >>>>>the second and third ones is that my tooling doesn't know 
> >>>>what name to 
> >>>>>give the element for the EPRs inside of the message elements..  In 
> >>>>>otherwords, it generates messages which look like the following:
> >>>>>
> >>>>>	<GetActivityDocuments
> >>>>>xmlns="http://schemas.ggf.org/bes/2006/08/bes-factory">
> >>>>>		<item xmlns=""
> >>>>>xmlns:ns3="http://www.w3.org/2005/08/addressing"
> >>>>>xsi:type="ns3:EndpointReferenceType">
> >>>>>	
> >>>>>
> >>>><ns3:Address>https://wincluster1.cs.virginia.edu/HPCP/HPCPServ
> >>>ice.asmx</ns3:
> >>>>>Address> 
> >>>>>			<ns3:ReferenceParameters>
> >>>>>				<jobID
> >>>>>xmlns="http://schemas.ggf.org/hpcp/2006/07/hpcp-app">113</jobID> 
> >>>>>			</ns3:ReferenceParameters>
> >>>>>		</item>
> >>>>>	</GetActivityDocuments>
> >>>>>
> >>>>>	<TerminateActivities
> >>>>>xmlns="http://schemas.ggf.org/bes/2006/08/bes-factory">
> >>>>>		<item xmlns=""
> >>>>>xmlns:ns3="http://www.w3.org/2005/08/addressing"
> >>>>>xsi:type="ns3:EndpointReferenceType">
> >>>>>	
> >>>>>
> >>>><ns3:Address>https://wincluster1.cs.virginia.edu/HPCP/HPCPServ
> >>>ice.asmx</ns3:
> >>>>>Address> 
> >>>>>			<ns3:ReferenceParameters>
> >>>>>				<jobID
> >>>>>xmlns="http://schemas.ggf.org/hpcp/2006/07/hpcp-app">113</jobID> 
> >>>>>			</ns3:ReferenceParameters>
> >>>>>		</item>
> >>>>>	</TerminateActivities>
> >>>>>
> >>>>>Notice the child element called "item" in each message.
> >>>>>
> >>>>>The simple (and obvious to me) fix was to change the 
> >>>>>GetActivityDocuemntsType and TerminateActivitiesType type 
> >>>>definitions 
> >>>>>to specify the name of the inner element, i.e. to change them to:
> >>>>>
> >>>>>	<xsd:complexType name="GetActivityDocumentsType">
> >>>>>       <xsd:sequence>
> >>>>>         <xsd:element name="ActivityIdentifier"
> >>>>>		  ref="bes-factory:ActivityIdentifier"
> >>>>>             minOccurs="0" maxOccurs="unbounded"/>
> >>>>>       </xsd:sequence>
> >>>>>     </xsd:complexType>
> >>>>>
> >>>>>	<xsd:complexType name="TerminateActivitiesType">
> >>>>>       <xsd:sequence>
> >>>>>         <xsd:element name="ActivityIdentifier"
> >>>>>		  ref="bes-factory:ActivityIdentifier"
> >>>>>             minOccurs="0" maxOccurs="unbounded"/>
> >>>>>       </xsd:sequence>
> >>>>>     </xsd:complexType>
> >>>>>
> >>>>>I know that these are legitimate fixs, the questions are, 
> >>>>A) are these 
> >>>>>in fact real errors that my tooling is finding and thus the 
> >>>>WSDL is in 
> >>>>>error, and B) can we make these changes permanent in the 
> >>>>BES-Factory 
> >>>>>WSDL to fix these problem?
> >>>>>
> >>>>>-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
> >>>>>
> >
> >
> 




More information about the ogsa-hpcp-wg mailing list