Is there anybody out there that successfully generated a valid WSDL for a webservice generated by the EntireX Workbench?
I am testing a VERY simple service using the following IDL:
library 'TEST' is
program 'TESTN1' is
define data parameter
1 RESULT
2 NAME (A10)
2 ADDRESS (A20)
2 COUNTRY (A2)
end-define
</pre><BR><BR>Then I'm performing a SOAP 1.1 mapping that works fine with the XML Tester, but when I generate a WSDL for this service, I get something containing:<BR><BR><pre class="ip-ubbcode-code-pre">
<schema targetNamespace="http://namespace.softwareag.com/entirex/xml/mapping" xmlns="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="RESULT">
<xsd:sequence>
<xsd:element name="NAME" type="xsd:NAME"/>
<xsd:element name="ADDRESS" type="xsd:ADDRESS"/>
<xsd:element name="COUNTRY" type="xsd:COUNTRY"/>
</xsd:sequence>
</xsd:complexType>
</schema>
To my latest knowledge, xsd:NAME, xsd:ADDRESS and xsd:COUNTRY are no valid W3C Schema types, so I’m not suprised that the first WSDL editor I tried (XMLSPY5) rejects the generated file. :rolleyes:
WSDL generation didn’t work in v6.1.x and still doesn’t work in version 7.1.1.11 we are using now, so actually I’m wondering why SAG adds this feature (read: bug) to the EntireX workbench. It definitely has never been tested (properly) :mad:
I have used the WSDL generator in a number of projects and it worked fine every time. I also did a quick test and generated a WSDL from the Workbench and this is the version that I got:
I then opened this WSDL in XMLSpy and it verified correctly. So this version of the WSDL is correct.
Is the copy of the WSDL you sent just an extract from the WSDL that you generated (it seems so)? Could you provide more information about the steps you took to generate the WSDL? Could also provide me with a copy of your .idl, .xmm, .wsdl and .properties files. This way we can determine whether it is possible to reproduce the problem you are experiencing.
I don’t think patches 11 & 18 have anything to do with the problem. To verify I also applied these patches and I’m still not able to reproduce the problem.
I did try something different though. Within the XML Mapping Editor, I selected each of the mapped elements and modified the “Default” type from “xsd:string” to “xsd:NAME”, etc. I then regenerated the WSDL file and I got the same result as you. So I’m wondering whether it is possible that the mapping might be incorrect. Can you verify whether this is the case? I don’t have your .xmm file and thus cannot verify what the mapping looks like.
I finally found the ‘attach’ function, so here’s my XMM file. Looks to me like they are mapped to ‘xsd:string’, but still the types in my WSDL are ‘xsd:NAME’ etc…
I now see what the difference is between the mapping file that you generated and the one I generated. It is true that when I use your mapping file to generate a WSDL I get the same result as you did, but when I do a new mapping within my Workbench I get different and the correct results.
The problem is due to a setting you have activated within your mapping profile. Within the Workbench go to “Mapping” → “Mapping Parameter” → “SOAP Default Mappings”. At the bottom of the window you will see an option called “Do not generate mapping attributes”. You will note that this check box will be selected in your case. That is why the SOAP mappings and WSDL files are generated differently. Unselect this check box and redo your SOAP mappings and then regenerate your WSDL file. It should be correct this time round.
For completeness I’m including my .xmm file so that you can see the difference between the two respective mapping files.