[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