Section: 7
-
Key: WSDL2C-23
-
Legacy Issue Number: 12172
-
Status: open
-
Source: PIKE ELECRONIC ( Lukas Zapletal)
-
Summary:
The OMG specification [[http://www.omg.org/technology/documents/formal/WSDL_CORBA.htm|WSDL-SOAP to CORBA Interworking]] Version 1.0 (formal/04-04-01) includes several typos and formal errors. In chapter 7.4.3 (Restriction to WSDL Type System) the type //negativeInteger// missing in the list and the //PositiveInteger// item should not have the capital "P". The situation is very same in the following IDL module type definitions. In the chapter 7.4.4 (Mapping to enumerators) the authors of the specification missed one IDL limitations. It is not possible to have the same items in two or more different enums. For example if we have: <Unable to render embedded object: File (--WSDL --> <simpleType name="X" restriction base="string"> <enumeration value = "A" /> <enumeration value = "B" /> <enumeration value = "C" /> </simpleType name> <) not found.-
{ short value; sequence<wstring> tag; }WSDL --> <simpleType name="Y" restriction base="string"> <enumeration value = "A" /> <!error, A is already defined-> </simpleType name> As you can see it is not possible to have an A enumeration item in both X and Y enums while using IDL. We must use prefixes here – I do recommend to use //X_A, X_B, X_C and Y_A// names for enum items in this case. In the chapter 7.5 (Mapping for Complex XML Schema Types) I am missing the mapping for empty complex types. Sometimes it is useful to create empty complex types (for example empty sequence). One of our customers use empty sequences for implementing empty responses in oneway service bus operations. We have used an empty struct with a dummy wstring type which is always empty and called //T_dummy//. There is a typo in the example in 7.5.5 chapter Mapping Attributes of Complex Type: <xsd:complexType> taggedShort <xsd:simpleContent> <xsd:extension base="xsd:short"> <xsd:attribute name="type" tag="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> The first line should be //<xsd:complexType name="taggedShort"// and the generated IDL example has a typo in the last type: // OMG IDL struct taggedShort; The last type should be called "type" and not "tag". The correct version follows. // OMG IDL struct taggedShort
{ short value; sequence<wstring> type; };
-
Reported: WSDL2C 1.0 — Sat, 12 Jan 2008 05:00 GMT
-
Updated: Sat, 7 Mar 2015 04:11 GMT