[seek-dev] Re: GLOBUS and EcoGrid Query wsdl

Jing Tao tao at nceas.ucsb.edu
Fri Sep 12 13:49:20 PDT 2003


Hi, Matt:

Thanks for the replying.

On Fri, 12 Sep 2003, Matt Jones wrote:

> Jing,
> 
> I looked at the GWSDL doc. I don't think you should use AnyRecordType as 
> the repsonse, but instead you should use "resultsetType" from query.xsd. 
>   Is there a reason you did it that way?

The reason is: Dave use AnyRecordType rather than resultsetType in his 
queryInterface4.wsdl. I am not sure if he has some reason to do this. 


> 
> Why did you need to generate a new GWSDL document, rather than just 
> modifying Dave's queryInterface4.wsdl?

The reason is gt3 has some build tools to create grid service from GWSDL 
document rather than WSDL. The GWSDL file is abtract and without binding 
and service part. gt3 will create three WSDL files base on the GWSDL file 
and other property files: wsdl file without binding and service, binding wsdl 
file and service wsdl. Yes I think we can modify Dave's 
queryInterface4.wsdl to create the first wsdl file. But we still need some 
way to figure out to create the two other wsdl files. 

 Also, why are you developing a 
> Metacat-specific port type?  It seems to me that the GWSDL shouldn;t 
> have any mention of metacat in it at all.  For example, your 
> MetacatPortType definition should really be an "EcoGridPortType", right? 
>   And the operations should be those defined in Dave's WSDL document, 
> right?

Yes, we need EcoGridPortType rather than Metacat-specific port type. There 
are too many name depencies in the process, so I just follow the example 
in docs.

Actually, I have everything in my home directory under seek project: 
build.xml in seek/projects/ecogrid, gwsdl file in seek/projects/ecogrid/src/xsd, property files in 
seek/projects/ecogrid/lib, metacat impl file in 
 seek/projects/ecogrid/src/org/ecoinformatics/ecogrid/metacat/impl, 
client file in  
seek/projects/ecogrid/src/org/ecoinformatics/ecogrid/metacat/client

If you like the structure, I may checkin them and you may try it.

Thanks.

Jing

> 
> Thanks in advance for the clarifications,
> 
> Matt
> 
> Jing Tao wrote:
> > Hi, everyone:
> > 
> > I a working on generating a grid service from wsdl. It is harder than from 
> > java interface to service. The prototype is kind 
> > of working. I have some issues and experience would like to be shared.
> > 
> > 1). It seems globus can generate grid service directly from GWSDL which is 
> > a extention of WSDL. The difference between them is GWSDL allow portype 
> > inheritance. They said GWSDL is a temporary solution, when WSDL 1.2 
> > (it allow portytype inheritance too) stable, GWSDL will be given up. I 
> > attached a GWDSL file in this email. You may note there some elements 
> > defined in types and those elements are used in message. If I didn't do 
> > that, it will give me error.
> > 
> > 2). I didn't figure out how to using http binding for get method. The 
> > tools they provide always give me soap binding result. Do you guys have 
> > any idea?
> > 
> > 3). Because we use querytype and anyrecordtype as the input and output of 
> > query method. Globus creates lot of stubs java class for the types base on 
> > their schema. So we need to figure out how to transfer query xml and 
> > reponse xml to those java objects in grid imple class and client class.
> > 
> > Any suggestiongs and comments?
> > 
> > Thanks.
> > 
> > Jing
> > 
> > 
> > ------------------------------------------------------------------------
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <definitions name ="MetacatService" xmlns="http://schemas.xmlsoap.org/wsdl/" 
> >              xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
> >              xmlns:y="http://ecoinformatics.org/ecogrid-metacat-1.0.0alpha1" 
> >              xmlns:ogsi="http://www.gridforum.org/namespaces/2003/03/OGSI"
> >              xmlns:gwsdl="http://www.gridforum.org/namespaces/2003/03/gridWSDLExtensions"
> >              xmlns:ns="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0alpha1" 
> >              xmlns:ns1="ecogrid://ecoinformatics.org/ecogrid-resultset-1.0.0alpha1" 
> >              targetNamespace="http://ecoinformatics.org/ecogrid-metacat-1.0.0alpha1">
> > 	<import namespace="ecogrid://ecoinformatics.org/ecogrid-query-1.0.0alpha1" location="./query.xsd"/>
> > 	<import namespace="ecogrid://ecoinformatics.org/ecogrid-resultset-1.0.0alpha1" location="./resultset.xsd"/>
> >   <import namespace="http://www.gridforum.org/namespaces/2003/03/OGSI" location="../../ogsi/ogsi.gwsdl"/>
> >   <types>
> > 	<xsd:schema targetNamespace="http://ecoinformatics.org/ecogrid-metacat-1.0.0alpha1"
> >         attributeFormDefault="qualified"
> >         elementFormDefault="qualified"
> > 	      xmlns="http://www.w3.org/2001/XMLSchema">
> >         <xsd:element name="query">
> >            <xsd:complexType>
> >             <xsd:sequence>
> >                <xsd:element name="query" type="ns:QueryType"/>
> >             </xsd:sequence> 
> >            </xsd:complexType>
> >         </xsd:element>
> >     
> >         <xsd:element name="queryResponse">
> >           <xsd:complexType>
> >             <xsd:sequence>
> >               <xsd:element name="records" type="ns1:AnyRecordType"/>
> >             </xsd:sequence> 
> >           </xsd:complexType>
> >       </xsd:element>
> >      </xsd:schema>
> > 	</types>
> > 	<message name="queryRequest">
> > 		<part name="parameters" element="y:query"/>
> > 	</message>
> > 	<message name="queryResponse">
> > 		<part name="parameters" element="y:queryResponse"/>
> > 	</message>
> > 	<gwsdl:portType name="MetacatPortType" extends="ogsi:GridService">
> > 		<operation name="query">
> > 			<input message="y:queryRequest"/>
> > 			<output message="y:queryResponse"/>
> >       <fault name="Fault" message="ogsi:FaultMessage"/>
> > 		</operation>
> > 	</gwsdl:portType>
> > </definitions>
> 
> 

-- 
Jing Tao
National Center for Ecological
Analysis and Synthesis (NCEAS)
735 State St. Suite 204
Santa Barbara, CA 93101




More information about the Seek-dev mailing list