Ok i see that this problem doesn't inspire you (like me). So i come back with one more question : has anybody got a model of schema & wsdl for a dataset that work correctly ? Any documentation helping me to understand what i've got to do ? Thanks a lot Alban
Alban a écrit : > Sorry for the delay to respond. > So this is the entire wsdl generated by open edge 10.1c : > [wsdl] > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions name="AppTestDS" targetNamespace="urn:callwsdataset" > xmlns:tns="urn:callwsdataset" xmlns:S2="urn:callwsdataset:AppTestDS" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:prodata="urn:schemas-progress-com:xml-prodata:0001" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:S1="urn:soap-fault:details" > xmlns="http://schemas.xmlsoap.org/wsdl/"> > <wsdl:documentation>EncodingType=DOC_LITERAL, > Proxygen_Product=Progress Version 10.1C</wsdl:documentation> > <wsdl:types> > <schema elementFormDefault="unqualified" > targetNamespace="urn:soap-fault:details" > xmlns="http://www.w3.org/2001/XMLSchema"><element > name="FaultDetail"><complexType><sequence><element name="errorMessage" > type="xsd:string"/><element name="requestID" > type="xsd:string"/></sequence></complexType></element></schema> > <schema elementFormDefault="qualified" > targetNamespace="urn:callwsdataset:AppTestDS" > xmlns="http://www.w3.org/2001/XMLSchema"><element > name="dsOrder"><complexType><sequence><element maxOccurs="unbounded" > minOccurs="0" name="ttOrder"><complexType><sequence><element > name="Ordernum" nillable="true" type="xsd:int"/><element > name="CustNum" nillable="true" type="xsd:int"/><element > name="OrderDate" nillable="true" type="xsd:date"/><element > name="ShipDate" nillable="true" type="xsd:date"/><element > name="PromiseDate" nillable="true" type="xsd:date"/><element > name="Carrier" nillable="true" type="xsd:string"/><element > name="Instructions" nillable="true" type="xsd:string"/><element > name="PO" nillable="true" type="xsd:string"/><element name="Terms" > nillable="true" type="xsd:string"/><element name="SalesRep" > nillable="true" type="xsd:string"/><element name="BillToID" > nillable="true" type="xsd:int"/><element name="ShipToID" > nillable="true" type="xsd:int"/><element name="OrderStatus" > nillable="true" type="xsd:string"/><element name="WarehouseNum" > nillable="true" type="xsd:int"/><element name="Creditcard" > nillable="true" type="xsd:string"/><element name="OrderTotal" > nillable="true" type="xsd:decimal"/><element name="CustName" > nillable="true" type="xsd:string"/><element name="RepName" > nillable="true" > type="xsd:string"/></sequence></complexType></element><element > maxOccurs="unbounded" minOccurs="0" name="ttOline" > prodata:beforeTable="BIttOline"><complexType><sequence><element > name="Ordernum" nillable="true" type="xsd:int"/><element > name="Linenum" nillable="true" type="xsd:int"/><element name="Itemnum" > nillable="true" type="xsd:int"/><element name="Price" nillable="true" > type="xsd:decimal"/><element name="Qty" nillable="true" > type="xsd:int"/><element name="Discount" nillable="true" > type="xsd:int"/><element name="ExtendedPrice" nillable="true" > type="xsd:decimal"/><element name="OrderLineStatus" nillable="true" > type="xsd:string"/></sequence></complexType></element><element > maxOccurs="unbounded" minOccurs="0" > name="ttItem"><complexType><sequence><element name="Itemnum" > nillable="true" type="xsd:int"/><element name="ItemName" > nillable="true" type="xsd:string"/><element name="Price" > nillable="true" type="xsd:decimal"/><element name="Onhand" > nillable="true" type="xsd:int"/><element name="Allocated" > nillable="true" type="xsd:int"/><element name="ReOrder" > nillable="true" type="xsd:int"/><element name="OnOrder" > nillable="true" type="xsd:int"/><element name="CatPage" > nillable="true" type="xsd:int"/><element name="CatDescription" > nillable="true" type="xsd:string"/><element name="Category1" > nillable="true" type="xsd:string"/><element name="Category2" > nillable="true" type="xsd:string"/><element name="Special" > nillable="true" type="xsd:string"/><element name="Weight" > nillable="true" type="xsd:decimal"/><element name="Minqty" > nillable="true" > type="xsd:int"/></sequence></complexType></element></sequence></complexType><unique > name="OrderNum" prodata:primaryIndex="true"><selector > xpath=".//S2:ttOrder"/><field xpath="S2:Ordernum"/></unique><unique > name="orderline" prodata:primaryIndex="true"><selector > xpath=".//S2:ttOline"/><field xpath="S2:Ordernum"/><field > xpath="S2:Linenum"/></unique><unique name="ItemNum" > prodata:primaryIndex="true"><selector xpath=".//S2:ttItem"/><field > xpath="S2:Itemnum"/></unique><keyref name="OrderLine" > refer="S2:OrderNum"><selector xpath=".//S2:ttOline"/><field > xpath="S2:Ordernum"/></keyref><annotation><appinfo><prodata:relation > name="LineItem" prodata:child="ttItem" prodata:parent="ttOline" > prodata:relationFields="Itemnum,Itemnum"/></appinfo></annotation></element><element > name="CALL_testDataset"><complexType><sequence/></complexType></element><element > name="CALL_testDatasetResponse"><complexType><sequence><element > name="result" nillable="true" type="xsd:string"/><element > ref="S2:dsOrder"/></sequence></complexType></element></schema> > </wsdl:types> > <wsdl:message name="FaultDetailMessage"> > <wsdl:part name="FaultDetail" element="S1:FaultDetail"/> > </wsdl:message> > <wsdl:message name="AppTestDS_CALL_testDataset"> > <wsdl:part name="parameters" element="S2:CALL_testDataset"/> > </wsdl:message> > <wsdl:message name="AppTestDS_CALL_testDatasetResponse"> > <wsdl:part name="parameters" element="S2:CALL_testDatasetResponse"/> > </wsdl:message> > <wsdl:portType name="AppTestDSObj"> > <wsdl:operation name="CALL_testDataset"> > <wsdl:input message="tns:AppTestDS_CALL_testDataset"/> > <wsdl:output message="tns:AppTestDS_CALL_testDatasetResponse"/> > <wsdl:fault name="AppTestDSFault" message="tns:FaultDetailMessage"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="AppTestDSObj" type="tns:AppTestDSObj"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="CALL_testDataset"> > <soap:operation soapAction="" style="document"/> > <wsdl:input> > <soap:body use="literal"/> > </wsdl:input> > <wsdl:output> > <soap:body use="literal"/> > </wsdl:output> > <wsdl:fault name="AppTestDSFault"> > <soap:fault name="AppTestDSFault" use="literal"/> > </wsdl:fault> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="AppTestDSService"> > <wsdl:port name="AppTestDSObj" binding="tns:AppTestDSObj"> > <wsdl:documentation></wsdl:documentation> > <soap:address location="http://localhost:8080/wsa/wsa1"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > [/wsdl] > > And the schema generated by flex : > [schema] > package generated.webservices > { > import mx.rpc.xml.Schema > public class BaseAppTestDSServiceSchema > { > public var schemas:Array = new Array(); > public var targetNamespaces:Array = new Array(); > public function BaseAppTestDSServiceSchema():void > { > var xsdXML0:XML = <xsd:schema > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns="http://www.w3.org/2001/XMLSchema" > xmlns:S1="urn:soap-fault:details" > xmlns:S2="urn:callwsdataset:AppTestDS" > xmlns:prodata="urn:schemas-progress-com:xml-prodata:0001" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns="urn:callwsdataset" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > attributeFormDefault="unqualified" elementFormDefault="unqualified" > targetNamespace="urn:soap-fault:details"> > <xsd:element name="FaultDetail"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="errorMessage" type="string"/> > <xsd:element name="requestID" type="string"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > ; > var xsdSchema0:Schema = new Schema(xsdXML0); > schemas.push(xsdSchema0); > targetNamespaces.push(new > Namespace('','urn:soap-fault:details')); > var xsdXML1:XML = <xsd:schema > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns="http://www.w3.org/2001/XMLSchema" > xmlns:S1="urn:soap-fault:details" > xmlns:S2="urn:callwsdataset:AppTestDS" > xmlns:prodata="urn:schemas-progress-com:xml-prodata:0001" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns="urn:callwsdataset" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > attributeFormDefault="unqualified" elementFormDefault="qualified" > targetNamespace="urn:callwsdataset:AppTestDS"> > <xsd:element name="dsOrder" type="S2:dsOrder_type0"> > <xsd:annotation> > <xsd:appinfo> > <prodata:relation name="LineItem" > prodata:child="ttItem" prodata:parent="ttOline" > prodata:relationFields="Itemnum,Itemnum"/> > </xsd:appinfo> > </xsd:annotation> > <xsd:keyref name="OrderLine" refer="S2:OrderNum"> > <xsd:selector xpath=".//S2:ttOline"/> > <xsd:field xpath="S2:Ordernum"/> > </xsd:keyref> > <xsd:unique name="OrderNum"> > <xsd:selector xpath=".//S2:ttOrder"/> > <xsd:field xpath="S2:Ordernum"/> > </xsd:unique> > <xsd:unique name="orderline"> > <xsd:selector xpath=".//S2:ttOline"/> > <xsd:field xpath="S2:Ordernum"/> > <xsd:field xpath="S2:Linenum"/> > </xsd:unique> > <xsd:unique name="ItemNum"> > <xsd:selector xpath=".//S2:ttItem"/> > <xsd:field xpath="S2:Itemnum"/> > </xsd:unique> > </xsd:element> > <xsd:element name="CALL_testDataset"> > <xsd:complexType> > <xsd:sequence/> > </xsd:complexType> > </xsd:element> > <xsd:element name="CALL_testDatasetResponse"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="result" nillable="true" type="string"/> > <xsd:element ref="S2:dsOrder"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > ; > var xsdSchema1:Schema = new Schema(xsdXML1); > schemas.push(xsdSchema1); > targetNamespaces.push(new > Namespace('','urn:callwsdataset:AppTestDS')); > } > } > } > [schema] > I'm wondering too, on what's this S2. > So you think that the XML schema generated by progress isn't as expected ? > If it's that we are going to look at the knowledge database to see if > this bug is know and if there's a patch or a way to correctly > generated the wsdl. > > Thanks for your interest ! > Alban > > --- In [email protected], Peter Farland <[EMAIL PROTECTED]> wrote: >> Unfortunately you cut off the most important part - what do the > namespaces in the schema map to? They may be declared on the wsdl > definitions root tag or the schema tag, but it's not clear from your > post what the S2 namespace prefix maps to... I'm guessing that it is > (incorrectly) the XML Schema 1.0 namespace which is not expected by > Flex's XML Schema marshaller (it only expects actual XML Schema types > in this namespace!). > >

