Issues for Mailing list of the WSDL/SOAP to CORBA AND CORBA to WSDL/SOAP RTF
To comment on any of these issues, send email to wsdlcorba-rtf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 6631: element hierarchy is not valid
Issue 6634: The section "Typedef" needs an example with a no basic type
Issue 6638: there should NOT be a ¡°_target¡± element defined
Issue 7743: Section 1.2.8.2
Issue 7744: Section 1.2.8.5
Issue 7832: CORBA Object Reference Schema
Issue 7834: CORBA Source Annotation Namespace in schema
Issue 7835: Example WSDL Does not verify
Issue 8755: Section: 1.2.11
Issue 8806: Section: 1.2.7.10
Issue 8807: xsd:url type not defined in schema
Issue 12172: Section: 7
Issue 6631: element hierarchy is not valid (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary: In the WS-I mapping of IDL sequence, the following element hierarchy is not valid : complexType / complexContent / sequence / element ('sequence' MUST NOT be a child of a 'complexContent')
A valid hierarchy is : complexType / sequence / element
Same issue for arrays in section 1.2.7.6.
Resolution: Remove the erroneous "complexContent" level from the hierarchy for both section 1.2.7.5 and 1.2.7.6.
Revised Text: in 1.2.7.5
Change: on page 1-11
"
<xsd:complexType name="Example.longSeq">
<xsd:complexContent>
<xsd:sequence>
"
to:
"
<xsd:complexType name="Example.longSeq">
<xsd:sequence>
"
change:
"
<xsd:complexType name="Example.strSeq">
<xsd:complexContent>
<xsd:sequence>
"
to:
"
<xsd:complexType name="Example.strSeq">
<xsd:sequence>
"
on page 1-12 Change:
"
<xsd.complexType name="Example.structSeq">
<xsd:complexContent>
<xsd:sequence>
"
to:
"
<xsd.complexType name="Example.structSeq">
<xsd:sequence>
"
In 1.2.7.6:
Change, on page :1-13:
"
<xsd:complexType name="Example.arrayLong" >
<xsd:complexContent >
<xsd:sequence >
"
to:
"
<xsd:complexType name="Example.arrayLong" >
<xsd:sequence >
"
change:
"
<xsd:complexType name="S.field_ArrayOfint">
<xsd:complexContent >
<xsd:sequence >
"
to:
"
<xsd:complexType name="S.field_ArrayOfint">
<xsd:sequence >
"
Chairs Note: during editing the convenience document, the following two productions also had a need to remove the complexContent lines :
change:
"
<xsd:complexType name="ArrayOfint">
<xsd:complexContent >
<xsd:sequence >
"
to:
"
<xsd:complexType name="ArrayOfint">
<xsd:sequence >
"
change:
"
<xsd:complexType name="matrix">
<xsd:complexContent >
<xsd:sequence >
"
to:
"
<xsd:complexType name="matrix">
<xsd:sequence >
"
Actions taken:
November 18, 2003: received issue
March 10, 2005: closed issue
Issue 6634: The section "Typedef" needs an example with a no basic type (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary: The section "Typedef" needs an example with a no basic type, like following :
// IDL struct S { long dummy; }; typedef S S_t;
// XSD <xsd:complexType name="S"> <xsd:sequence> <xsd:element name="dummy" type="xsd:int" maxOccurs="1" minOccurs="1" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="S_t"> <xsd:complexContent> <xsd:restriction base="tns:S"> <xsd:sequence> <xsd:element name="dummy" type="xsd:int" maxOccurs="1" minOccurs="1" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType>
Resolution: Add the proposed example to the revision text
Revised Text: Add the following example to section 1.2.7.3:
"
// IDL
struct S { long dummy; };
typedef S S_t;
// XSD
<xsd:complexType name="S">
xsd:sequence>
xsd:element name="dummy" type="xsd:int" maxOccurs="1" minOccurs="1" />
/xsd:sequence>
</xsd:complexType>
<xsd:complexType name="S_t">
xsd:complexContent>
xsd:restriction base="tns:S">
xsd:sequence>
xsd:element name="dummy" type="xsd:int" maxOccurs="1" minOccurs="1" />
/xsd:sequence>
/xsd:restriction>
/xsd:complexContent>
</xsd:complexType>
"
Actions taken:
November 20, 2003: received issue
March 10, 2005: closed issue
Issue 6638: there should NOT be a ¡°_target¡± element defined (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: In the example, bar operation defined in SomeInterface are mapped as the following:
<message name="Example.SomeInterface.bar" >
<part name="_target" type="CORBA:Reference"/>
<part name="pi" type="xsd:float"/>
</message>
But according to the mapping rule in Section 1.2.8.2, there should NOT be a ¡°_target¡± element defined in the message. Whats more, CORBA::Reference has not been defined in the specification.
Proposed solution: Please make sure that ¡°_target¡± is required or optional.
Resolution: see above
Revised Text: In 1.2.8.5 , on page 1-25, change:
"
<message name="Example.SomeInterface.bar" >
<part name="_target" type="CORBA:Reference"/>
<part name="pi" type="xsd:float"/>
</message>
<message name="
"
to:
"
<message name="Example.SomeInterface.bar" >
<part name="pi" type="xsd:float"/>
</message>
<message name="
"
on page 1-26 change:
"
<!-- port for Example.SomeInterface -->
<portType name="Example.SomeInterface">
<operation name="bar" parameterOrder="_target pi">
"
to:
"
<!-- port for Example.SomeInterface -->
<portType name="Example.SomeInterface">
<operation name="bar" >
"
Actions taken:
November 25, 2003: received issue
March 10, 2005: closed issue
Discussion: Delete the erroneous target element, it is a holdover from one of the pre merged specs contributions
Issue 7743: Section 1.2.8.2 (wsdlcorba-rtf)
Click here for this issue's archive.
Nature:
Severity:
Summary: Section 1.2.8.2
In the example(Page 1-22, top), "readonly" attribute is mapped as follows:
<operation name="_get_longAttr" >
<output message="tns:MyAttrs._get_longAttrResponse"/>
<fault message=¡±tns:CORBA.SystemException¡±/>
</operation>
But in most of the SOAP specification implementations(Axis, .NET 1.1 etc.), the format like this means the
operation is a 'notify' operation.
Proposed solution: Maybe we should map as follows:
<message name=¡±longAttrRequest¡±>
</message>
<operation name=¡±_get_longAttr¡±>
<input message=¡±tns:longAttrRequest¡± />
<output message=¡±tns:MyAttrs._get_longAttrResponse¡±/>
<fault message=¡°tns:CORBA.SystemException¡±>
</operation>
Resolution: Close as Duplicate of Issue 6996
Revised Text:
Actions taken:
September 13, 2004: received issue
December 3, 2004: closed issue
Issue 7744: Section 1.2.8.5 (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: In the example:
<portType name="Example.SomeInterface">
<operation name="bar" parameterOrder="_target pi">
<input message="tns:Example.SomeInterface.bar"/>
<output message="tns:Example.SomeInterface.barResponse"/>
<fault message="_exception.Example.BadRecord"/>
<fault message="_exception.Example.UnknownError"/>
<fault message=¡±tns:CORBA.SystemException¡±/>
</operation>
</portType>
Most of the WSDL2java tool will use element'name' as a parameter's name. So, on receiving the WSDL as above (page
1-25), most WSDL2java tool will report an error in process for mapping WSDL to java.
Proposed solution: Maybe we should add a 'name' attribute in the fault element. For example, consider the
following IDL:
module Example{
exception BadRecord{
String why;
};
Interface SomeInterface{
Long bar(in float pi) raises(BadRecord),UnknownError
}
}
It should be mapped to:
<portType name="example.SomeInterface">
<operation name="bar" >
<input message="tns:Example.SomeInterface.bar" />
<output message="tns:Example.SomeInterface.barResonse"/>
<fault message="_exception.Wxample.BadRecord" name="badRecord"/>
<fault message="_exception.Example.UnknownError" name="error"/>
<fault message="tns:CORBA.SystemException" name="systemError"/>
</operation>
</portType>
Resolution: : Accept proposed change from source
Revised Text: In section 1.2.8.5:
On page 1-26, Change:
"
<fault message="_exception.Example.BadRecord"/>
<fault message="_exception.Example.UnknownError"/>
<fault message="tns:CORBA.SystemException"/>
"
to:
<fault message="_exception.Example.BadRecord" name="Example.BadRecord"/>
<fault message="_exception.Example.UnknownError" name="Example.UnknownError"/>
<fault message="corba:CORBA.SystemException name="CORBA.SystemException"/>
"
On pages 1-20, 1-21 (twice), 1-22 (twice), 1-23, and 1-24 (twice), of section 1.2.8.2
Change:
"
<fault message="tns:CORBA.SystemException"/>
"
to:
"
<fault message="corba:CORBA.SystemException" name="CORBA.SystemException" />
"
Actions taken:
September 13, 2004: received issue
March 10, 2005: closed issue
Discussion: WSDL 1.1 states the following:
"
2.4.5 Names of Elements within an Operation
The name attribute of the input and output elements provides a unique name among all input and output elements within the enclosing port type.
In order to avoid having to name each input and output element within an operation, WSDL provides some default values based
on the operation name. If the name attribute is not specified on a one-way or notification message, it defaults to the name of the operation.
If the name attribute is not specified on the input or output messages of a request-response or solicit-response operation, the name defaults
to the name of the operation with "Request"/"Solicit" or "Response" appended, respectively.
Each fault element must be named to allow a binding to specify the concrete format of the fault message. The name of the fault element is
unique within the set of faults defined for the operation.
"
Thus, to obey wsdl we have to accept the proposed change.
Also, all messages in the example operation definition need to be namespace qualified
Issue 7832: CORBA Object Reference Schema (wsdlcorba-rtf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Tom Rutt, tom(at)coastin.com)
Nature: Uncategorized Issue
Severity:
Summary:
Corba IDL to WSDL interworking: ptc/03-11-02
Section 1.2.5: Object References
The text states that the object reference maps to a sequence of URLs.
However the schema has a maxOccurs=1 for the element.
Solution Proposed by Submitter:
In Section 1.2.5 change:
“
<xsd:complexType name="ObjectReference">
<xsd:sequence>
<xsd:element
name="url" type="xsd:url"
maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
“
to
“
<xsd:complexType name="ObjectReference">
<xsd:sequence>
<xsd:element
name="url" type="xsd:url"
minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
“
Resolution: Close with accepting solution proposed by submitter
Revised Text:
Actions taken:
October 4, 2004: received issue
March 10, 2005: closed issue
Issue 7834: CORBA Source Annotation Namespace in schema (wsdlcorba-rtf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Tom Rutt, tom(at)coastin.com)
Nature: Uncategorized Issue
Severity: Minor
Summary: Corba IDL to WSDL interworking: ptc/03-11-02
Section 1.2.3: Identifying the Source IDL
The text states that the annotation elements are in the CORBA namespace.
However both schema have the wrong targetNamespace.
The erroneous schema namespace information should be deleted. Put all the corba namespace type and element definitions in a single normative schema section and file.
Solution Proposed by Submitter:
In Section 1.2.3:
On pages 1-3 and 1-4
Delete the first four lines of each schema:
“
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.omg.org/IDL-MAPPED"
elementFormDefault="qualified" attributeFormDefault="unqualified">
“
and delete the final line of each schema:
“
</xsd:schema>
Add the following new normative schema for the CORBA namespace, gathering all the type and element definitions spread throughout the document (the schema for objectReference, from issue xxxx, is fixed in this new schema):
<?xml version="1.0" encoding="utf-8"?>
<!--
WSDL for IDL to WSDL CORBA Namespace
Name: corba.wsdl
-->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/" targetNamespace="http://www.omg.org/IDL-WSDL/1.0/" name="corba">
<types>
<xsd:schema targetNamespace="http://www.omg.org/IDL-WSDL/1.0/">
<xsd:element name="SourceIDL" >
<xsd:annotation>
<xsd:documentation>IDL/WSDL Mapping Info</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="source" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="version" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SourceRepositoryID" >
<xsd:annotation>
<xsd:documentation>IDL Mapped Repository ID </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="repositoryID" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="version" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ObjectReference">
<xsd:sequence>
<xsd:element name="url" type="xsd:url" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CORBA.TypeCode">
<xsd:sequence>
<xsd:element name="definition" type="xsd:url" maxOccurs="1" minOccurs="1"/>
<xsd:element name="typename" type="xsd:string" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CORBA.Any">
<xsd:sequence>
<xsd:element name="type" type="corba:CORBA.TypeCode" maxOccurs="1" minOccurs="1"/>
<xsd:element name="value" type="xsd:anyType" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CORBA.completion_status">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COMPLETED_YES"/>
<xsd:enumeration value="COMPLETED_NO"/>
<xsd:enumeration value="COMPLETED_MAYBE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CORBA.SystemException">
<xsd:sequence>
<xsd:element name="minor" type="xsd:unsignedInt" maxOccurs="1" minOccurs="1"/>
<xsd:element name="completion_status" type="corba:CORBA.completion_status" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="CORBA.SystemExceptionMessage">
<part name="_return" type="corba:CORBA.SystemException"/>
</message>
</definitions>
Resolution: Close with accepting solution proposed by submitter
Revised Text:
Actions taken:
October 4, 2004: received issue
March 10, 2005: closed issue
Issue 7835: Example WSDL Does not verify (wsdlcorba-rtf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Tom Rutt, tom(at)coastin.com)
Nature: Uncategorized Issue
Severity: Minor
Summary: Corba IDL to WSDL interworking: ptc/03-11-02
Section 1.2.8 and 1.2.9 have several example wsdl descriptions.
However, these are not in the proper format for a wsdl description.
They should be editorially fixed in the Document, and made
availalbe as informative files.
Solution Proposed by Submitter:
In Section 1.2.8 and 1.2.9 fix the wsdl descriptions to validate with the wsdl schema, and make them available as files.
The RTF chair will make these files available in time for the vote on this issue.
Resolution: : Close with accepting revised text below
Revised Text: In section 1.2.8.2
Replace:
"
<?xml version="1.0"?>
<definitions name="anExample"
targetNamespace=" http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:CORBA=http://www.omg.org/IDL-WSDL/1.0/
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl" >
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/"/>
<!-- Messages related to port: SomeInterface -->
<message name="SomeInterface.bar" >
<part name="pi" type="xsd:float"/>
</message>
<message name="SomeInterface.barResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- port for SomeInterface -->
<portType name="SomeInterface" >
<operation name="bar" >
<input message="tns:SomeInterface.bar"/>
<output message="tns:SomeInterface.barResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
</portType>
</definitions>
"
with:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="SomeInterfaceExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<!-- Messages related to port: SomeInterface -->
<message name="SomeInterface.bar">
<part name="pi" type="xsd:float"/>
</message>
<message name="SomeInterface.barResponse">
<part name="_return" type="xsd:int"/>
</message>
<!-- port type for SomeInterface -->
<portType name="SomeInterface">
<operation name="bar">
<input message="tns:SomeInterface.bar"/>
<output message="tns:SomeInterface.barResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
In section 1.2.8.2
Replace:
"
<?xml version="1.0"?>
<definitions name="anExample"
targetNamespace=" http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:CORBA=http://www.omg.org/IDL-WSDL/1.0/
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl" >
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/"/>
<!-- Messages related to port: MyAttrs -->
<message name="MyAttrs._get_strAttrResponse" >
<part name="_return" type="xsd:string"/>
</message>
<message name="MyAttras._set_strAttr" />
<part name="value" type="xsd:string"/>
</message>
<message name="MyAttrs._get_longAttrResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- port for MyAttrs -->
<portType name="MyAttrs" >
<operation name="_get_strAttr" >
<output message="tns:MyAttrs._get_strAttrResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
<operation name="_set_strAttr" >
<input message="tns:MyAttrs._set_strAttr"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
<operation name="_get_longAttr" >
<output message="tns:MyAttrs._get_longAttrResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
</portType>
</definitions>
"
with:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MyAttrExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<!-- Messages related to portType: MyAttrs -->
<message name="MyAttrs._get_strAttr"/>
<message name="MyAttrs._get_strAttrResponse" >
<part name="_return" type="xsd:string"/>
</message>
<message name="MyAttrs._set_strAttr" >
<part name="value" type="xsd:string"/>
</message>
<message name="MyAttrs._get_longAttr"/>
<message name="MyAttrs._get_longAttrResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- portType for MyAttrs -->
<portType name="MyAttrs" >
<operation name="_get_strAttr" >
<input message="tns:MyAttrs._get_strAttr"/>
<output message="tns:MyAttrs._get_strAttrResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="_set_strAttr" >
<input message="tns:MyAttrs._set_strAttr"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="_get_longAttr">
<input message="tns:MyAttrs._get_longAttr"/>
<output message="tns:MyAttrs._get_longAttrResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
In section 1.2.8.2
Replace:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MyAttrExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<!-- Messages related to portType: MyAttrs -->
<message name="MyAttrs._get_strAttr"/>
<message name="MyAttrs._get_strAttrResponse" >
<part name="_return" type="xsd:string"/>
</message>
<message name="MyAttrs._set_strAttr" >
<part name="value" type="xsd:string"/>
</message>
<message name="MyAttrs._get_longAttr"/>
<message name="MyAttrs._get_longAttrResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- portType for MyAttrs -->
<portType name="MyAttrs" >
<operation name="_get_strAttr" >
<input message="tns:MyAttrs._get_strAttr"/>
<output message="tns:MyAttrs._get_strAttrResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="_set_strAttr" >
<input message="tns:MyAttrs._set_strAttr"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="_get_longAttr">
<input message="tns:MyAttrs._get_longAttr"/>
<output message="tns:MyAttrs._get_longAttrResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
with:
"
<?xml version="1.0" encoding="utf-8"?>
<w:definitions name="SomeInterface2Example"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:w="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<w:import
namespace="http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<w:types>
<xsd:schema targetNamespace="http://www.omg.org/IDL-Mapped/">
<!-- schema for soap encoding -->
<xsd:complexType name="_SE_longSeq">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="xsd:int"/>
</xsd:sequence>
<!-- the following line, using the arrayType attribute from the wsdl namespace,
is specified to be used by WSDL1.1 for soapEncoding Array. It is a strange incantation,
and the need to namespace qualify this attribute is why this file does not use wsdl as the default namespace -->
<xsd:attribute ref="soapenc:arrayType" w:arrayType="xsd:int"/>
</xsd:restriction>
</xsd:complexContent>
<!-- schema for WS-I compliant mapping -->
</xsd:complexType>
<xsd:complexType name="longSeq">
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</w:types>
<!-- Messages related to port: SomeInterface2 -->
<w:message name="SomeInterface2.bar">
<w:part name="pi" type="xsd:float"/>
</w:message>
<w:message name="SomeInterface2.barResponse">
<w:part name="_return" type="tns:longSeq"/>
</w:message>
<!-- Messages related to port: SomeInterface2 for soap encoding -->
<w:message name="_SE_SomeInterface2.barResponse">
<w:part name="_return" type="tns:_SE_longSeq"/>
</w:message>
<!-- port for SomeInterface2 -->
<w:portType name="SomeInterface2">
<w:operation name="bar">
<w:input message="tns:SomeInterface2.bar"/>
<w:output message="tns:SomeInterface2.barResponse"/>
<w:fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</w:operation>
</w:portType>
<!-- port for SomeInterface2 with soap encoding -->
<w:portType name="_SE_SomeInterface2">
<w:operation name="bar">
<w:input message="tns:SomeInterface2.bar"/>
<w:output message="tns:_SE_SomeInterface2.barResponse"/>
<w:fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</w:operation>
</w:portType>
</w:definitions
"
In section 1.2.8.4
Replace:
"
<?xml version="1.0"?>
<definitions
targetNamespace=" http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:CORBA=http://www.omg.org/IDL-WSDL/1.0/
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl" >
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/"/>
<!-- Messages related to port: BaseInterface -->
<message name="BaseInterface.bar" >
<part name="pi" type="BaseInterface.Foo"/>
</message>
<message name="BaseInterface.barResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- port for BaseInterface -->
<portType name="BaseInterface" >
<operation name="bar" >
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
</portType>
<!-- Messages related to port: DerivedInterface -->
<message name="DerivedInterface.baz" >
<part name="po" type="BaseInterface.Foo"/>
</message>
<message name="DerivedInterface.bazResponse" >
<part name="_return" type="xsd:int"/>
</message>
<!-- port for DerivedInterface -->
<portType name="DerivedInterface" >
<operation name="bar" >
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
<operation name="DerivedInterface.baz" >
<input message="tns:DerivedInterface.baz"/>
<output message="tns:DerivedInterface.bazResponse"/>
<fault message="tns:CORBA.SystemException"/>
</operation>
</portType>
</definitions>
"
with:
"
<?xml version="1.0" encoding="utf-8"?>
<definitions name="inheritanceExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<types>
<xsd:schema targetNamespace="http://www.omg.org/IDL-Mapped/">
<xsd:simpleType name="BaseInterface.Foo">
<xsd:restriction base="xsd:float"/>
</xsd:simpleType>
</xsd:schema>
</types>
<!-- Messages related to port: BaseInterface -->
<message name="BaseInterface.bar">
<part name="pi" type="tns:BaseInterface.Foo"/>
</message>
<message name="BaseInterface.barResponse">
<part name="_return" type="xsd:int"/>
</message>
<!-- Messages related to port: DerivedInterface -->
<message name="DerivedInterface.baz">
<part name="po" type="tns:BaseInterface.Foo"/>
</message>
<message name="DerivedInterface.bazResponse">
<part name="_return" type="xsd:int"/>
</message>
<!-- port for BaseInterface -->
<portType name="BaseInterface">
<operation name="bar">
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
<!-- port for DerivedInterface -->
<portType name="DerivedInterface">
<operation name="bar">
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="DerivedInterface.baz">
<input message="tns:DerivedInterface.baz"/>
<output message="tns:DerivedInterface.bazResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
In section 1.2.8.5
Replace:
"
<?xml version="1.0" encoding="utf-8"?>
<definitions name="inheritanceExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<types>
<xsd:schema targetNamespace="http://www.omg.org/IDL-Mapped/">
<xsd:simpleType name="BaseInterface.Foo">
<xsd:restriction base="xsd:float"/>
</xsd:simpleType>
</xsd:schema>
</types>
<!-- Messages related to port: BaseInterface -->
<message name="BaseInterface.bar">
<part name="pi" type="tns:BaseInterface.Foo"/>
</message>
<message name="BaseInterface.barResponse">
<part name="_return" type="xsd:int"/>
</message>
<!-- Messages related to port: DerivedInterface -->
<message name="DerivedInterface.baz">
<part name="po" type="tns:BaseInterface.Foo"/>
</message>
<message name="DerivedInterface.bazResponse">
<part name="_return" type="xsd:int"/>
</message>
<!-- port for BaseInterface -->
<portType name="BaseInterface">
<operation name="bar">
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
<!-- port for DerivedInterface -->
<portType name="DerivedInterface">
<operation name="bar">
<input message="tns:BaseInterface.bar"/>
<output message="tns:BaseInterface.barResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
<operation name="DerivedInterface.baz">
<input message="tns:DerivedInterface.baz"/>
<output message="tns:DerivedInterface.bazResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
with:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="exceptionsExample"
targetNamespace="http://www.omg.org/IDL-Mapped/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<import
namespace=" http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<types>
<!-- Exception type definitions -->
<xsd:schema targetNamespace="http://www.omg.org/IDL-Mapped/">
<!-- Exception definitions -->
<xsd:complexType name="Example.BadRecord">
<xsd:sequence>
<xsd:element name="why" type="xsd:string" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Example.RottenApple">
<xsd:sequence>
<xsd:element name="numberOfWorms" type="xsd:int" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Example.UnknownError">
<xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<!-- Messages related to interface Example.SomeInterface -->
<message name="Example.SomeInterface.bar">
<part name="pi" type="xsd:float"/>
</message>
<message name="Example.SomeInterface.barResponse">
<part name="_return" type="xsd:int"/>
</message>
<message name="_exception.Example.BadRecord">
<part name="exception" type="tns:Example.BadRecord"/>
</message>
<message name="_exception.Example.UnknownError">
<part name="exception" type="tns:Example.UnknownError"/>
</message>
<!-- portType for Example.SomeInterface -->
<portType name="Example.SomeInterface">
<operation name="bar">
<input message="tns:Example.SomeInterface.bar"/>
<output message="tns:Example.SomeInterface.barResponse"/>
<fault name="Example.BadRecord" message="tns:_exception.Example.BadRecord"/>
<fault name="Example.UnknownError" message="tns:_exception.Example.UnknownError"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
</definitions>
"
In section 1.2.9
Replace:
"
<binding name="_SE_fooBinding" type="foo">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="query">
<soap:operation soapAction="foo#query"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="foo" use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="foo" use="encoded"/>
</output>
<fault message="CORBA.SystemException"/>
</operation>
</binding>
<binding name="fooBinding" type="foo">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="query">
<soap:operation soapAction="foo#query"/>
<input>
<soap:body
namespace="foo" use="literal"/>
</input>
<output>
<soap:body
namespace="foo" use="literal"/>
</output>
<fault message="CORBA.SystemException"/>
</operation>
</binding>
"
with:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="fooBindingExample"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
xmlns:tns="http://www.omg.org/IDL-Mapped/"
targetNamespace="http://www.omg.org/IDL-Mapped/" >
<import
namespace="http://www.omg.org/IDL-WSDL/1.0/" location="../corba/corba.wsdl"/>
<!-- messages for foo --
<message name="foo.query">
<part name="s" type="xsd:string"/>
</message>
<message name="foo.queryResponse">
</message>
<!-- portType for foo -->
<portType name="foo">
<operation name="query">
<input message="tns:foo.query"/>
<output message="tns:foo.queryResponse"/>
<fault name="CORBA.SystemException" message="corba:CORBA.SystemExceptionMessage"/>
</operation>
</portType>
<!-- rpc encoded binding for foo -->
<binding name="_SE_fooBinding" type="tns:foo">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="query">
<soap:operation soapAction="foo#query"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</output>
<fault name="CORBA.SystemException"/>
</operation>
</binding>
<!-- WS-I compliant binding for foo -->
<binding name="fooBinding" type="tns:foo">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="query">
<soap:operation soapAction="foo#query"/>
<input>
<soap:body use="literal" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</input>
<output>
<soap:body use="literal" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</output>
<fault name="CORBA.SystemException"/>
</operation>
</binding>
</definitions>
"
In section 1.2.9
Replace:
"
<binding name="_SE_SomeInterface2Binding" type="_SE_SomeInterface2">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="bar">
<soap:operation soapAction="SomeInterface2#bar"/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="SomeInterface2" use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="SomeInterface2" use="encoded"/>
</output>
<fault message="CORBA.SystemException"/>
</operation>
</binding>
<binding name="SomeInterface2Binding" type="SomeInterface2">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="query">
<soap:operation soapAction="SomeInterface2#bar"/>
<input>
<soap:body
namespace="SomeInterface2" use="literal"/>
</input>
<output>
<soap:body
namespace="SomeInterface2" use="literal"/>
</output>
<fault message="CORBA.SystemException"/>
</operation>
</binding>
"
with:
"
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="SomeInterface2BindingExample"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/" xmlns:tns="http://www.omg.org/IDL-Mapped/" targetNamespace="http://www.omg.org/IDL-Mapped/" >
<import namespace="http://www.omg.org/IDL-Mapped/" location="../tns/SomeInterface2Example.wsdl"/>
<!-- rpc encoded binding or SomeInterface2 -->
<binding name="_SE_SomeInterface2Binding" type="tns:_SE_SomeInterface2">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="bar">
<soap:operation soapAction="SomeInterface2#bar"/>
<input>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</input>
<output>
<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</output>
<fault name="CORBA.SystemException"/>
</operation>
</binding>
<!-- WS-I compliant binding for SomeInterface2
<binding name="SomeInterface2Binding" type="tns:SomeInterface2">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="bar">
<soap:operation soapAction="SomeInterface2#foo"/>
<input>
<soap:body use="literal" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</input>
<output>
<soap:body use="literal" namespace="http://www.omg.org/IDL-WSDL/1.0/"/>
</output>
<fault name="CORBA.SystemException"/>
</operation>
</binding>
</definitions>
"
Add new section 1.2.11, including the following wsdl for corba:
"
<?xml version="1.0" encoding="utf-8"?>
<!--
WSDL for IDL to WSDL CORBA Namespace
Name: corba.wsdl
-->
<definitions name="corba"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:corba="http://www.omg.org/IDL-WSDL/1.0/"
targetNamespace="http://www.omg.org/IDL-WSDL/1.0/" >
<types>
<xsd:schema targetNamespace="http://www.omg.org/IDL-WSDL/1.0/">
<xsd:element name="SourceIDL" >
<xsd:annotation>
<xsd:documentation>IDL/WSDL Mapping Info</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="source" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="version" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SourceRepositoryID" >
<xsd:annotation>
<xsd:documentation>IDL Mapped Repository ID </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="repositoryID" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="version" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ObjectReference">
<xsd:sequence>
<xsd:element name="url" type="xsd:url" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CORBA.TypeCode">
<xsd:sequence>
<xsd:element name="definition" type="xsd:url" maxOccurs="1" minOccurs="1"/>
<xsd:element name="typename" type="xsd:string" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CORBA.Any">
<xsd:sequence>
<xsd:element name="type" type="corba:CORBA.TypeCode" maxOccurs="1" minOccurs="1"/>
<xsd:element name="value" type="xsd:anyType" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CORBA.completion_status">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="COMPLETED_YES"/>
<xsd:enumeration value="COMPLETED_NO"/>
<xsd:enumeration value="COMPLETED_MAYBE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CORBA.SystemException">
<xsd:sequence>
<xsd:element name="minor" type="xsd:unsignedInt" maxOccurs="1" minOccurs="1"/>
<xsd:element name="completion_status" type="corba:CORBA.completion_status" maxOccurs="1" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="CORBA.SystemExceptionMessage">
<part name="_return" type="corba:CORBA.SystemException"/>
</message>
</definitions>
Actions taken:
October 4, 2004: received issue
March 10, 2005: closed issue
Issue 8755: Section: 1.2.11 (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary: The unknown type "xsd:url" must be replaced by "xsd:anyURI" in corba.wsdl. There are 2 occurences : <element name="url" ... <element name="definition" ...
Resolution: replace "xsd:url" with "xsd:anyURI" in both occurrences
Revised Text: In sections 1.2.5 and 1.2.11:
Change:
"
<xsd:element name="url" type="xsd:url" minOccurs="1"/>
"
To:
"
<xsd:element name="url" type="xsd:anyURI" minOccurs="1"/>
"
In sections 1.2.7.7 and 1.2.11:
Change:
"
<xsd:element name="definition" type="xsd:url" maxOccurs="1" minOccurs="1"/>
"
To:
"
<xsd:element name="definition" type="xsd:anyURI" maxOccurs="1" minOccurs="1"/>
"
Actions taken:
May 3, 2005: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue
Issue 8806: Section: 1.2.7.10 (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Enhancement
Severity: Minor
Summary: The section "ValueType" needs to describe inheritance. The order between member (not inherited, inherited, indirectly inherited) must be defined. // IDL valuetype sampleY : sampleX { public char c; }; // XSD <xsd:complexType name="sampleY"> <xsd:sequence> <xsd:element name="a" maxOccurs="1" minOccurs="1" type="xsd:short"/> <xsd:element name="b" maxOccurs="1" minOccurs="1" type="xsd:int"/> <xsd:element name="c" maxOccurs="1" minOccurs="1" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:ID" use="optional"/> </xsd:complexType>
Resolution: Agree to add description of value type inheritance
Revised Text: Add the following new paragraph immediately after the first table in 1.2.7.10:
"
Value type inheritance is supported by expanding the inheritance graph to include all inherited public and private state members in the representation for the inheriting value type. The state members from the inherited value type appear in the mapped struct before the members added in the inheriting value type definition.
"
Actions taken:
April 26, 2010: closed issue
Issue 8807: xsd:url type not defined in schema (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary: I have some notes and questions to CORBA IDL to WSDL mapping. 1. corba.wsdl contains xsd:url type. But this type is not defined in schema. There is only xsd:anyURI. I think corba.wsdl is not valid wsdl!!! 2. TypeCode is mapped to url to wsdl document and type name. Why TypeCode is not mapped to QName? 3. Any is mapped to CORBA:TypeCode and xsd:any. I think better is mapping to xsd:any. Type is defined by xsi:type attribute in soap message. 4. Object reference is mapped to sequence of url. But this urls are urls to CORBA interfaces. It is not usefull for me. I neednot return corba reference (it is irrelevant for soap client), I need to return address of webservice or whole EndpointReference from ws-addresing, which transform soap messages to calls on this CORBA::reference. 5. Contact information for this specification mars@omg.org is not valid.
Resolution: close without change
Revised Text:
Actions taken:
May 24, 2005: received issue
May 25, 2005: received issue
April 26, 2010: closed issue
April 26, 2010: closed issue
April 26, 2010: closed issue
Discussion: · Item 1 is duplicate of Issue 8755 (which was resolved with proposed change to "xsd:anyURI")
· Item 2: current mapping works, proposed change is an enhancement which is out of scope for RTF.
· Item 3: current mapping works. The full typecode is used to convey complete type information in the representation of CORBA Any. Proposed change is out of scope of RTF.
· Item 4: current mapping works. Proposed change to use ws-addressing EPR is an enhancement which is out of scope for RTF.
Issue 12172: Section: 7 (wsdlcorba-rtf)
Click here for this issue's archive.
Nature: Clarification
Severity: Significant
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: <!--WSDL --> <simpleType name="X" restriction base="string"> <enumeration value = "A" /> <enumeration value = "B" /> <enumeration value = "C" /> </simpleType name> <!--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 { short value; sequence<wstring> tag; }; The last type should be called "type" and not "tag". The correct version follows. // OMG IDL struct taggedShort { short value; sequence<wstring> type; };
Resolution:
Revised Text:
Actions taken:
January 12, 2008: received issue
Discussion: