XSD format for use in Sonic parameter type and wsdl definitions

ProgressDevelop

New Member
Hi,

Although this I am having a problem with a Sonic process I think it may be related to the contents / definition of the of the .xsd file below.

When I use “Import Schema” via right-click on “Types” on the WSDL overview screen it does not import the file correctly. I only get a blank “schema” tag created under “Types”.

When using this file to define a parameter “Type” on the process interface screen, the file is displayed correctly on the automatically generated WSDL overview screen. However the wsdl call does not work and times out.

<?xml version="1.0"?>
<xsd:schema targetNamespace="urn:getCustomerAddress"
xmlns:tns="urn: getCustomerAddress "
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<xsd:element name="SessionID" type="xsd:string"/>
<xsd:element name="CustomerID" type="xsd:string"/>
<xsd:element name="EventType" type="xsd:string"/>
<xsd:element name="ResponseID" type="xsd:integer"/>
<xsd:element name="ResponseMessage" type="xsd:string"/>
<xsd:element name="CustomerAddress" tns:proTempTable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CustomerAddressRow" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AddressID" type="xsd:string" nillable="true" tns:label="Address"/>
<xsd:element name="CustomerID" type="xsd:string" nillable="true" tns:label="Customer ID"/>
<xsd:element name="AddressType" type="xsd:string" nillable="true" tns:label="List Type" tns:columnLabel="List"/>
<xsd:element name="CustomerName" type="xsd:string" nillable="true" tns:format="x(28)" tns:label="Name"/>
<xsd:element name="Line1" type="xsd:string" nillable="true" tns:format="x(28)" tns:label="Address"/>
<xsd:element name="Line2" type="xsd:string" nillable="true" tns:format="x(28)" tns:label="Address"/>
<xsd:element name="City" type="xsd:string" nillable="true" tns:format="x(20)"/>
<xsd:element name="State" type="xsd:string" nillable="true" tns:format="x(4)" tns:columnLabel="St"/>
<xsd:element name="Postcode" type="xsd:string" nillable="true" tns:format="x(10)" tns:label="Post"/>
<xsd:element name="ContactFirstname" type="xsd:string" nillable="true"/>
<xsd:element name="ContactSurname" type="xsd:string" nillable="true"/>
<xsd:element name="ContactMethod" type="xsd:string" nillable="true"/>
<xsd:element name="email" type="xsd:string" nillable="true"/>
<xsd:element name="Phone" type="xsd:string" nillable="true" tns:format="x(16)" tns:label="Telephone"/>
<xsd:element name="AddressNumber" type="xsd:integer" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="idxCustomerID" tns:primaryIndex="true">
<xsd:selector xpath=".//CustomerAddressRow"/>
<xsd:field xpath="CustomerID"/>
<xsd:field xpath="AddressType"/>
<xsd:field xpath="CustomerName"/>
</xsd:unique>
</xsd:element>
</xsd:schema>


Is this file correctly constructed? Any pointers most welcome.

Cheers Keith
 
Top