creating xsd from wsdl file

Hi,
First time having to create an xsd definition from scratch for a new web service. What's the easiest way to do this?
Below is a snippet of the wsdl file. I'm trying to create an xsd definition in the GUI for GetDocumentURL. The first part is easy since the fields are of type Text.
However, how do you define the element that is "data" and the "item" below it?

-<s:element name="GetDocumentURL">
-<s:complexType>
-<s:sequence>
<s:element name="docID" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="key" type="s:string" maxOccurs="1" minOccurs="1"/>
<s:element name="user" type="s:string" maxOccurs="1" minOccurs="1"/>
<s:element name="mode" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="imagegroup" type="s:string" maxOccurs="1" minOccurs="0"/>
<s:element name="timeout" type="s:string" maxOccurs="1" minOccurs="0"/>
-<s:element name="data" maxOccurs="1" minOccurs="0">
-<s:complexTyp...

OriginalPostID-266962

  Discussion posts and replies are publicly visible

  • ...e>
    -<s:sequence>
    <s:element name="item" type="tns:Property" maxOccurs="unbounded" minOccurs="0"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
  • @garym - Have you tried using call web service smart service? This smart service automatically creates requests and response cdts based on operation that you select. Still if you plan to create explicitly - All elements are of type string except "item" which is of type Property which is again is a data type in WSDL and is of multiple tyoe. You can first create Property cdt and then create your final cdt using CDT builder directly.
  • @sagarI511 - Yes, I tried calling the web service using the smart service and hoping that it would create the request and response cdt but I get the following error (attached). That's why I went down the path of trying to create explicitly. Am I missing a step to get the cdts created automatically? I would prefer that route.

  • @garym-After seeing the error which you have attached, As far as I know we should delete all the old CDTs which are created initially by the smart service when it was ran for first time and we should run it again after deleting the cdts.
    Note: Take backup of existing cdts .
  • @maheshp74 -thanks for replying. The issue is that I don't get any CDTs that are created when it is run for the first time. What exactly do you mean by "ran for the first time"? I created a simple process model that uses the "call web service" smart service and I input the wsdl URL and clicked the Refresh Services button. I was able to see the endpoints provided by the web service and the operations. Once I click on one of the operations, I get the error message in the screenshot. I'm assuming to actually execute the web service, I will need to pass it a cdt with the values that it expects. However, where can I get the cdts that you say are created initially by the smart service? Sorry this is all new to me. I have always had the luxury of dealing with an established web service call with all the cdts created already so this is the first time I have had to deal with a brand new web service.