You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by dm...@apache.org on 2007/02/27 15:15:08 UTC
svn commit: r512275 - in /incubator/yoko/trunk/tools/src:
main/java/org/apache/yoko/tools/processors/wsdl/
test/java/org/apache/yoko/tools/processors/ test/resources/idlgen/
test/resources/wsdl/
Author: dmiddlem
Date: Tue Feb 27 07:15:05 2007
New Revision: 512275
URL: http://svn.apache.org/viewvc?view=rev&rev=512275
Log:
Updating support for WS-Addressing in the WSDLToIDL tool (YOKO-298).
Modified:
incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java
incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java
incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java
incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java
incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_wsaddressing_bank.idl
incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_bank.wsdl
incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_server.wsdl
incubator/yoko/trunk/tools/src/test/resources/wsdl/wsaddressing_bank.wsdl
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLParameter.java Tue Feb 27 07:15:05 2007
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-*/
+ */
package org.apache.yoko.tools.processors.wsdl;
@@ -36,39 +36,51 @@
import org.apache.schemas.yoko.bindings.corba.ModeType;
import org.apache.schemas.yoko.bindings.corba.ParamType;
import org.apache.ws.commons.schema.XmlSchema;
+import org.apache.ws.commons.schema.XmlSchemaAnnotation;
import org.apache.ws.commons.schema.XmlSchemaChoice;
import org.apache.ws.commons.schema.XmlSchemaComplexContent;
import org.apache.ws.commons.schema.XmlSchemaComplexContentExtension;
import org.apache.ws.commons.schema.XmlSchemaComplexType;
import org.apache.ws.commons.schema.XmlSchemaContentModel;
import org.apache.ws.commons.schema.XmlSchemaElement;
+import org.apache.ws.commons.schema.XmlSchemaImport;
+import org.apache.ws.commons.schema.XmlSchemaObject;
+import org.apache.ws.commons.schema.XmlSchemaObjectCollection;
+import org.apache.ws.commons.schema.XmlSchemaObjectTable;
import org.apache.ws.commons.schema.XmlSchemaParticle;
import org.apache.ws.commons.schema.XmlSchemaSequence;
import org.apache.ws.commons.schema.XmlSchemaType;
import org.apache.yoko.wsdl.CorbaTypeImpl;
-public final class WSDLParameter {
-
+public final class WSDLParameter {
+
static Definition definition;
- public void processParameters(WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation, Definition def,
- List<XmlSchema> xmlSchemaList, List<ParamType> params,
- List<ArgType> returns, boolean simpleOrdering) throws Exception {
-
+ public void processParameters(WSDLToCorbaBinding wsdlToCorbaBinding,
+ Operation operation, Definition def, List<XmlSchema> xmlSchemaList,
+ List<ParamType> params, List<ArgType> returns,
+ boolean simpleOrdering) throws Exception {
+
definition = def;
List<ParamType> inputs = new ArrayList<ParamType>();
List<ParamType> outputs = new ArrayList<ParamType>();
List<ArgType> returnOutputs = new ArrayList<ArgType>();
-
- if (inputPartsHaveNoDocWrapper(operation.getName(), operation, xmlSchemaList)) {
- processWrappedInputParams(wsdlToCorbaBinding, operation, xmlSchemaList, inputs);
+
+ if (inputPartsHaveNoDocWrapper(operation.getName(), operation,
+ xmlSchemaList)) {
+ processWrappedInputParams(wsdlToCorbaBinding, operation,
+ xmlSchemaList, inputs);
} else {
- processInputParams(wsdlToCorbaBinding, operation, xmlSchemaList, inputs);
+ processInputParams(wsdlToCorbaBinding, operation, xmlSchemaList,
+ inputs);
}
- if (outputPartsHaveNoDocWrapper(operation.getName(), operation, xmlSchemaList)) {
- processWrappedOutputParams(wsdlToCorbaBinding, operation, xmlSchemaList, inputs, outputs);
+ if (outputPartsHaveNoDocWrapper(operation.getName(), operation,
+ xmlSchemaList)) {
+ processWrappedOutputParams(wsdlToCorbaBinding, operation,
+ xmlSchemaList, inputs, outputs);
} else {
- processOutputParams(wsdlToCorbaBinding, operation, xmlSchemaList, inputs, outputs);
+ processOutputParams(wsdlToCorbaBinding, operation, xmlSchemaList,
+ inputs, outputs);
}
processReturnParams(outputs, returnOutputs);
orderParameters(inputs, outputs, true);
@@ -77,8 +89,9 @@
}
- private void processWrappedInputParams(WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation,
- List<XmlSchema> xmlSchemaList, List<ParamType> inputs)
+ private void processWrappedInputParams(
+ WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation,
+ List<XmlSchema> xmlSchemaList, List<ParamType> inputs)
throws Exception {
Input input = operation.getInput();
@@ -86,92 +99,93 @@
Message msg = input.getMessage();
Iterator i = msg.getOrderedParts(null).iterator();
while (i.hasNext()) {
- Part part = (Part)i.next();
- XmlSchemaType schemaType = null;
- schemaType = lookUpType(part, xmlSchemaList);
+ Part part = (Part) i.next();
+ XmlSchemaType schemaType = null;
+ schemaType = lookUpType(part, xmlSchemaList);
if (part.getElementName() != null) {
// its an anonymous type
- if (schemaType instanceof XmlSchemaComplexType
- && schemaType.getName() == null) {
+ if (schemaType instanceof XmlSchemaComplexType
+ && schemaType.getName() == null) {
Iterator it = getSchemaIterator(schemaType);
Iterator iter = getSchemaIterator(schemaType);
addParams(wsdlToCorbaBinding, inputs, it, iter);
} else {
- XmlSchemaElement el = getElement(part, xmlSchemaList);
+ XmlSchemaElement el = getElement(part, xmlSchemaList);
if (schemaType == null) {
- addParam(wsdlToCorbaBinding, schemaType, part.getName(),
- el.getSchemaTypeName(), el.isNillable(), inputs);
+ addParam(wsdlToCorbaBinding, schemaType, part
+ .getName(), el.getSchemaTypeName(), el
+ .isNillable(), inputs);
} else {
- addParam(wsdlToCorbaBinding, schemaType, part.getName(),
- part.getElementName(), el.isNillable(), inputs);
- }
- }
+ addParam(wsdlToCorbaBinding, schemaType, part
+ .getName(), part.getElementName(), el
+ .isNillable(), inputs);
+ }
+ }
} else {
if (part.getTypeName() != null) {
- addParam(wsdlToCorbaBinding, schemaType, part.getName(),
- part.getTypeName(), false, inputs);
+ addParam(wsdlToCorbaBinding, schemaType,
+ part.getName(), part.getTypeName(), false,
+ inputs);
}
- }
+ }
}
}
}
private void addParams(WSDLToCorbaBinding wsdlToCorbaBinding,
- List<ParamType> inputs,
- Iterator it,
- Iterator iter) throws Exception {
+ List<ParamType> inputs, Iterator it, Iterator iter)
+ throws Exception {
if (it != null) {
- while (it.hasNext()) {
+ while (it.hasNext()) {
if (it.next() instanceof XmlSchemaElement) {
- XmlSchemaElement el = (XmlSchemaElement)iter.next();
- addParam(wsdlToCorbaBinding, el.getSchemaType(),
- el.getQName().getLocalPart(),
- el.getSchemaTypeName(), el.isNillable(), inputs);
+ XmlSchemaElement el = (XmlSchemaElement) iter.next();
+ addParam(wsdlToCorbaBinding, el.getSchemaType(), el
+ .getQName().getLocalPart(), el.getSchemaTypeName(),
+ el.isNillable(), inputs);
}
}
- }
- }
-
- private void processInputParams(WSDLToCorbaBinding wsdlToCorbaBinding,
- Operation operation, List<XmlSchema> xmlSchemaList,
- List<ParamType> inputs)
- throws Exception {
-
+ }
+ }
+
+ private void processInputParams(WSDLToCorbaBinding wsdlToCorbaBinding,
+ Operation operation, List<XmlSchema> xmlSchemaList,
+ List<ParamType> inputs) throws Exception {
+
Input input = operation.getInput();
if (input != null) {
Message msg = input.getMessage();
Iterator i = msg.getOrderedParts(null).iterator();
while (i.hasNext()) {
- Part part = (Part)i.next();
+ Part part = (Part) i.next();
XmlSchemaType schemaType = null;
- schemaType = lookUpType(part, xmlSchemaList);
+ schemaType = lookUpType(part, xmlSchemaList);
if (part.getElementName() != null) {
XmlSchemaElement el = getElement(part, xmlSchemaList);
- addParam(wsdlToCorbaBinding, schemaType, part.getName(),
- part.getElementName(), el.isNillable(), inputs);
- } else if (part.getTypeName() != null) {
- addParam(wsdlToCorbaBinding, schemaType, part.getName(),
- part.getTypeName(), false, inputs);
- }
+ addParam(wsdlToCorbaBinding, schemaType, part.getName(),
+ part.getElementName(), el.isNillable(), inputs);
+ } else if (part.getTypeName() != null) {
+ addParam(wsdlToCorbaBinding, schemaType, part.getName(),
+ part.getTypeName(), false, inputs);
+ }
}
}
}
-
- private void addParam(WSDLToCorbaBinding wsdlToCorbaBinding, XmlSchemaType schemaType,
- String name, QName typeName, boolean nillable,
- List<ParamType> inputs) throws Exception {
- ParamType paramtype = createParam(wsdlToCorbaBinding, "in", schemaType,
- name, typeName, nillable);
+
+ private void addParam(WSDLToCorbaBinding wsdlToCorbaBinding,
+ XmlSchemaType schemaType, String name, QName typeName,
+ boolean nillable, List<ParamType> inputs) throws Exception {
+ ParamType paramtype = createParam(wsdlToCorbaBinding, "in", schemaType,
+ name, typeName, nillable);
if (paramtype != null) {
inputs.add(paramtype);
}
}
-
- private void processWrappedOutputParams(WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation,
- List<XmlSchema> xmlSchemaList, List<ParamType> inputs,
- List<ParamType> outputs)
- throws Exception {
+
+ private void processWrappedOutputParams(
+ WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation,
+ List<XmlSchema> xmlSchemaList, List<ParamType> inputs,
+ List<ParamType> outputs) throws Exception {
Output output = operation.getOutput();
@@ -179,33 +193,35 @@
Message msg = output.getMessage();
Iterator i = msg.getOrderedParts(null).iterator();
while (i.hasNext()) {
- Part part = (Part)i.next();
+ Part part = (Part) i.next();
XmlSchemaType schemaType = null;
schemaType = lookUpType(part, xmlSchemaList);
-
+
// check if in input list
- if (part.getElementName() != null) {
+ if (part.getElementName() != null) {
if (schemaType instanceof XmlSchemaComplexType
- && schemaType.getName() == null) {
+ && schemaType.getName() == null) {
Iterator it = getSchemaIterator(schemaType);
Iterator iter = getSchemaIterator(schemaType);
- updateLists(wsdlToCorbaBinding, inputs, outputs, it, iter);
+ updateLists(wsdlToCorbaBinding, inputs, outputs, it,
+ iter);
} else {
- XmlSchemaElement el = getElement(part, xmlSchemaList);
+ XmlSchemaElement el = getElement(part, xmlSchemaList);
if (schemaType == null) {
- updateList(wsdlToCorbaBinding, schemaType,
- part.getName(), el.getSchemaTypeName(),
- inputs, outputs, el.isNillable());
+ updateList(wsdlToCorbaBinding, schemaType, part
+ .getName(), el.getSchemaTypeName(), inputs,
+ outputs, el.isNillable());
} else {
- updateList(wsdlToCorbaBinding, schemaType,
- part.getName(), part.getElementName(),
- inputs, outputs, el.isNillable());
- }
+ updateList(wsdlToCorbaBinding, schemaType, part
+ .getName(), part.getElementName(), inputs,
+ outputs, el.isNillable());
+ }
}
} else {
if (part.getTypeName() != null) {
- updateList(wsdlToCorbaBinding, schemaType, part.getName(),
- part.getTypeName(), inputs, outputs, false);
+ updateList(wsdlToCorbaBinding, schemaType, part
+ .getName(), part.getTypeName(), inputs,
+ outputs, false);
}
}
}
@@ -213,80 +229,83 @@
}
private void updateLists(WSDLToCorbaBinding wsdlToCorbaBinding,
- List<ParamType> inputs,
- List<ParamType> outputs,
- Iterator it,
- Iterator iter) throws Exception {
+ List<ParamType> inputs, List<ParamType> outputs, Iterator it,
+ Iterator iter) throws Exception {
if (it != null) {
while (it.hasNext()) {
if (it.next() instanceof XmlSchemaElement) {
- XmlSchemaElement el = (XmlSchemaElement)iter.next();
- updateList(wsdlToCorbaBinding, el.getSchemaType(),
- el.getQName().getLocalPart(),
- el.getSchemaTypeName(), inputs, outputs,
- el.isNillable());
+ XmlSchemaElement el = (XmlSchemaElement) iter.next();
+ updateList(wsdlToCorbaBinding, el.getSchemaType(), el
+ .getQName().getLocalPart(), el.getSchemaTypeName(),
+ inputs, outputs, el.isNillable());
}
}
- }
- }
-
- private void processOutputParams(WSDLToCorbaBinding wsdlToCorbaBinding, Operation operation,
- List<XmlSchema> xmlSchemaList, List<ParamType> inputs,
- List<ParamType> outputs) throws Exception {
-
+ }
+ }
+
+ private void processOutputParams(WSDLToCorbaBinding wsdlToCorbaBinding,
+ Operation operation, List<XmlSchema> xmlSchemaList,
+ List<ParamType> inputs, List<ParamType> outputs) throws Exception {
+
Output output = operation.getOutput();
if (output != null) {
Message msg = output.getMessage();
Iterator i = msg.getOrderedParts(null).iterator();
while (i.hasNext()) {
- Part part = (Part)i.next();
+ Part part = (Part) i.next();
XmlSchemaType schemaType = null;
schemaType = lookUpType(part, xmlSchemaList);
-
+
// check if in input list
String mode = "out";
ParamType paramtype = null;
for (int x = 0; x < inputs.size(); x++) {
paramtype = null;
- ParamType d2 = (ParamType)inputs.get(x);
+ ParamType d2 = (ParamType) inputs.get(x);
- if (part.getName() != null
- && d2.getName().equals(part.getName())) {
+ if (part.getName() != null
+ && d2.getName().equals(part.getName())) {
inputs.remove(x);
if (part.getElementName() != null) {
- XmlSchemaElement el = getElement(part, xmlSchemaList);
- paramtype = createParam(wsdlToCorbaBinding, "inout", schemaType,
- part.getName(), part.getElementName(), el.isNillable());
+ XmlSchemaElement el = getElement(part,
+ xmlSchemaList);
+ paramtype = createParam(wsdlToCorbaBinding,
+ "inout", schemaType, part.getName(), part
+ .getElementName(), el.isNillable());
} else {
- paramtype = createParam(wsdlToCorbaBinding, "inout", schemaType,
- part.getName(), part.getTypeName(), false);
+ paramtype = createParam(wsdlToCorbaBinding,
+ "inout", schemaType, part.getName(), part
+ .getTypeName(), false);
}
- inputs.add(paramtype);
+ inputs.add(paramtype);
}
}
- if (paramtype == null) {
+ if (paramtype == null) {
if (part.getElementName() != null) {
XmlSchemaElement el = getElement(part, xmlSchemaList);
- paramtype = createParam(wsdlToCorbaBinding, mode, schemaType,
- part.getName(), part.getElementName(), el.isNillable());
+ paramtype = createParam(wsdlToCorbaBinding, mode,
+ schemaType, part.getName(), part
+ .getElementName(), el.isNillable());
} else {
- paramtype = createParam(wsdlToCorbaBinding, mode, schemaType,
- part.getName(), part.getTypeName(), false);
+ paramtype = createParam(wsdlToCorbaBinding, mode,
+ schemaType, part.getName(), part.getTypeName(),
+ false);
}
if (paramtype != null) {
outputs.add(paramtype);
- }
- }
+ }
+ }
}
}
}
- private void processReturnParams(List<ParamType> outputs, List<ArgType> returns) {
+ private void processReturnParams(List<ParamType> outputs,
+ List<ArgType> returns) {
if (outputs.size() > 0) {
- ParamType d2 = (ParamType)outputs.get(0);
-
+ ParamType d2 = (ParamType) outputs.get(0);
+
if (d2.getMode().value().equals("out")) {
ArgType argType = new ArgType();
argType.setName(d2.getName());
@@ -297,22 +316,23 @@
}
}
- private void orderParameters(List<ParamType> inputs, List<ParamType> outputs,
- boolean simpleOrdering) {
+ private void orderParameters(List<ParamType> inputs,
+ List<ParamType> outputs, boolean simpleOrdering) {
ListIterator<ParamType> inputit = inputs.listIterator();
while (inputit.hasNext()) {
- ParamType d2 = (ParamType)inputit.next();
+ ParamType d2 = (ParamType) inputit.next();
if (d2.getMode().value().equals("inout")) {
ListIterator it = outputs.listIterator();
while (it.hasNext()) {
- ParamType d3 = (ParamType)it.next();
+ ParamType d3 = (ParamType) it.next();
if (!d3.getName().equals(d2.getName())) {
- if ((!simpleOrdering) && (!d3.getMode().value().equals("inout"))) {
+ if ((!simpleOrdering)
+ && (!d3.getMode().value().equals("inout"))) {
// the in/outs are in a different order in the
// output than the input
- // we'll try and use the input oder for the INOUT's,
+ // we'll try and use the input oder for the INOUT's,
// but also try and
// maintain some sort of ordering for the OUT's
it.remove();
@@ -320,213 +340,266 @@
inputit.add(d3);
inputit.next();
}
- }
+ }
}
}
}
ListIterator<ParamType> it = outputs.listIterator();
while (it.hasNext()) {
- ParamType d3 = (ParamType)it.next();
+ ParamType d3 = (ParamType) it.next();
inputs.add(d3);
- }
+ }
}
-
- private void updateList(WSDLToCorbaBinding wsdlToCorbaBinding, XmlSchemaType schemaType,
- String name, QName typeName,
- List<ParamType> inputs, List<ParamType> outputs,
- boolean nillable) throws Exception {
-
+
+ private void updateList(WSDLToCorbaBinding wsdlToCorbaBinding,
+ XmlSchemaType schemaType, String name, QName typeName,
+ List<ParamType> inputs, List<ParamType> outputs, boolean nillable)
+ throws Exception {
+
ParamType paramtype = null;
-
+
for (int x = 0; x < inputs.size(); x++) {
paramtype = null;
- ParamType d2 = (ParamType)inputs.get(x);
-
+ ParamType d2 = (ParamType) inputs.get(x);
+
if (d2.getName().equals(name)) {
- inputs.remove(x);
- paramtype = createParam(wsdlToCorbaBinding, "inout", schemaType,
- name, typeName, nillable);
+ inputs.remove(x);
+ paramtype = createParam(wsdlToCorbaBinding, "inout",
+ schemaType, name, typeName, nillable);
if (paramtype != null) {
inputs.add(paramtype);
}
}
}
- if (paramtype == null) {
- paramtype = createParam(wsdlToCorbaBinding, "out", schemaType,
- name, typeName, nillable);
+ if (paramtype == null) {
+ paramtype = createParam(wsdlToCorbaBinding, "out", schemaType,
+ name, typeName, nillable);
if (paramtype != null) {
outputs.add(paramtype);
- }
- }
+ }
+ }
}
-
+
private Iterator getSchemaIterator(XmlSchemaType schemaType) {
-
+
if (schemaType instanceof XmlSchemaComplexType) {
- XmlSchemaComplexType cpt = (XmlSchemaComplexType)schemaType;
+ XmlSchemaComplexType cpt = (XmlSchemaComplexType) schemaType;
XmlSchemaParticle particle = null;
if (cpt.getParticle() != null) {
- particle = (XmlSchemaParticle)cpt.getParticle();
-
+ particle = (XmlSchemaParticle) cpt.getParticle();
+
if (particle instanceof XmlSchemaSequence) {
- XmlSchemaSequence seq = (XmlSchemaSequence)particle;
- return seq.getItems().getIterator();
+ XmlSchemaSequence seq = (XmlSchemaSequence) particle;
+ return seq.getItems().getIterator();
} else if (particle instanceof XmlSchemaChoice) {
- XmlSchemaChoice choice = (XmlSchemaChoice)particle;
+ XmlSchemaChoice choice = (XmlSchemaChoice) particle;
return choice.getItems().getIterator();
- }
+ }
}
if (cpt.getContentModel() != null) {
- XmlSchemaContentModel xscm = (XmlSchemaContentModel)cpt.getContentModel();
+ XmlSchemaContentModel xscm = (XmlSchemaContentModel) cpt
+ .getContentModel();
if (xscm instanceof XmlSchemaComplexContent) {
- XmlSchemaComplexContent xscc = (XmlSchemaComplexContent)xscm;
-
+ XmlSchemaComplexContent xscc = (XmlSchemaComplexContent) xscm;
+
XmlSchemaComplexContentExtension ext = null;
if (xscc.getContent() instanceof XmlSchemaComplexContentExtension) {
- ext = (XmlSchemaComplexContentExtension)xscc.getContent();
+ ext = (XmlSchemaComplexContentExtension) xscc
+ .getContent();
}
if (ext.getParticle() instanceof XmlSchemaSequence) {
- XmlSchemaSequence seq = (XmlSchemaSequence)ext.getParticle();
- return seq.getItems().getIterator();
+ XmlSchemaSequence seq = (XmlSchemaSequence) ext
+ .getParticle();
+ return seq.getItems().getIterator();
} else if (ext.getParticle() instanceof XmlSchemaChoice) {
- XmlSchemaChoice choice = (XmlSchemaChoice)ext.getParticle();
+ XmlSchemaChoice choice = (XmlSchemaChoice) ext
+ .getParticle();
return choice.getItems().getIterator();
}
}
}
- }
+ }
return null;
}
-
- private static XmlSchemaType lookUpType(Part part, List<XmlSchema> xmlSchemaList)
- throws Exception {
+
+ private static XmlSchemaType lookUpType(Part part,
+ List<XmlSchema> xmlSchemaList) throws Exception {
XmlSchemaType schemaType = null;
-
+
Iterator i = xmlSchemaList.iterator();
while (i.hasNext()) {
- XmlSchema xmlSchemaType = (XmlSchema)i.next();
-
+ XmlSchema xmlSchemaType = (XmlSchema) i.next();
+
if (part.getElementName() != null) {
- XmlSchemaElement schemaElement = xmlSchemaType.getElementByName(part.getElementName());
+ XmlSchemaElement schemaElement = xmlSchemaType
+ .getElementByName(part.getElementName());
if (schemaElement == null) {
QName elName = part.getElementName();
- String prefix = definition.getPrefix(elName.getNamespaceURI());
- QName name = new QName(elName.getNamespaceURI(),
- prefix + ":" + elName.getLocalPart(), prefix);
+ String prefix = definition.getPrefix(elName
+ .getNamespaceURI());
+ QName name = new QName(elName.getNamespaceURI(), prefix
+ + ":" + elName.getLocalPart(), prefix);
schemaElement = xmlSchemaType.getElementByName(name);
}
if (schemaElement != null) {
if (schemaElement.getSchemaType() != null) {
schemaType = schemaElement.getSchemaType();
- }
+ }
}
} else {
if (part.getTypeName() != null) {
- schemaType = xmlSchemaType.getTypeByName(part.getTypeName());
+ schemaType = xmlSchemaType
+ .getTypeByName(part.getTypeName());
+
+ // Endpoint reference types will give a null schemaType
+ // here, so we need to
+ // go through the list of imports to find the definition for
+ // an Endpoint
+ // reference type.
+
+ if (schemaType == null
+ && xmlSchemaType.getIncludes().getCount() > 0) {
+ XmlSchemaObjectCollection includes = xmlSchemaType
+ .getIncludes();
+ Iterator includeIter = includes.getIterator();
+ while (includeIter.hasNext()) {
+ Object obj = includeIter.next();
+ if (!(obj instanceof XmlSchemaImport)) {
+ continue;
+ }
+ XmlSchemaImport xmlImport = (XmlSchemaImport) obj;
+ if (xmlImport.getNamespace().equals(
+ part.getTypeName().getNamespaceURI())) {
+ XmlSchema importSchema = xmlImport.getSchema();
+ schemaType = importSchema.getTypeByName(part
+ .getTypeName());
+ }
+ }
+ }
+
}
}
if (schemaType != null) {
return schemaType;
}
- }
+ }
return schemaType;
}
-
- private static XmlSchemaElement getElement(Part part, List<XmlSchema> xmlSchemaList)
- throws Exception {
+
+ private static XmlSchemaElement getElement(Part part,
+ List<XmlSchema> xmlSchemaList) throws Exception {
XmlSchemaElement schemaElement = null;
-
+
Iterator i = xmlSchemaList.iterator();
while (i.hasNext()) {
- XmlSchema xmlSchemaType = (XmlSchema)i.next();
+ XmlSchema xmlSchemaType = (XmlSchema) i.next();
if (part.getElementName() != null) {
- schemaElement = xmlSchemaType.getElementByName(part.getElementName());
+ schemaElement = xmlSchemaType.getElementByName(part
+ .getElementName());
if (schemaElement == null) {
QName elName = part.getElementName();
- String prefix = definition.getPrefix(elName.getNamespaceURI());
- QName name = new QName(elName.getNamespaceURI(),
- prefix + ":" + elName.getLocalPart(), prefix);
+ String prefix = definition.getPrefix(elName
+ .getNamespaceURI());
+ QName name = new QName(elName.getNamespaceURI(), prefix
+ + ":" + elName.getLocalPart(), prefix);
schemaElement = xmlSchemaType.getElementByName(name);
}
if (schemaElement != null) {
- return schemaElement;
+ return schemaElement;
}
}
}
return schemaElement;
}
-
- private static ParamType createParam(WSDLToCorbaBinding wsdlToCorbaBinding,
- String mode, XmlSchemaType schemaType,
- String name, QName typeName,
- boolean nill) throws Exception {
+
+ private static ParamType createParam(WSDLToCorbaBinding wsdlToCorbaBinding,
+ String mode, XmlSchemaType schemaType, String name, QName typeName,
+ boolean nill) throws Exception {
CorbaTypeImpl corbaTypeImpl = null;
ParamType paramtype = new ParamType();
ModeType modeType = ModeType.fromValue(mode);
paramtype.setName(name);
- paramtype.setMode(modeType);
-
+ paramtype.setMode(modeType);
+
if (schemaType == null) {
- corbaTypeImpl = (CorbaTypeImpl)WSDLToCorbaHelper.CORBAPRIMITIVEMAP.get(typeName);
+ corbaTypeImpl = (CorbaTypeImpl) WSDLToCorbaHelper.CORBAPRIMITIVEMAP
+ .get(typeName);
if (nill) {
QName qname = corbaTypeImpl.getQName();
- qname = wsdlToCorbaBinding.getHelper().createQNameCorbaNamespace(qname.getLocalPart()
- + "_nil");
- paramtype.setIdltype(qname);
+ qname = wsdlToCorbaBinding.getHelper()
+ .createQNameCorbaNamespace(
+ qname.getLocalPart() + "_nil");
+ paramtype.setIdltype(qname);
} else {
paramtype.setIdltype(corbaTypeImpl.getQName());
}
} else {
- corbaTypeImpl = wsdlToCorbaBinding.getHelper().convertSchemaToCorbaType(schemaType,
- typeName,
- null,
- null,
- false);
- if (corbaTypeImpl == null) {
+ // We need to get annotation information for the schema type we are about to pass in.
+ // This is used to produce the correct object reference type.
+ List<XmlSchema> schemaList = wsdlToCorbaBinding.getHelper().getXMLSchemaList();
+ Iterator<XmlSchema> schemaIterator = schemaList.iterator();
+ XmlSchemaObject schemaObj = null;
+ while (schemaIterator.hasNext()) {
+ XmlSchema s = schemaIterator.next();
+ XmlSchemaObjectTable schemaTable = s.getElements();
+ schemaObj = schemaTable.getItem(typeName);
+ if (schemaObj != null) {
+ break;
+ }
+ }
+
+ XmlSchemaAnnotation annotation = null;
+ if (schemaObj != null && schemaObj instanceof XmlSchemaElement) {
+ annotation = ((XmlSchemaElement)schemaObj).getAnnotation();
+ }
+
+ corbaTypeImpl = wsdlToCorbaBinding.getHelper()
+ .convertSchemaToCorbaType(schemaType, typeName, null, annotation, false);
+ if (corbaTypeImpl == null) {
return null;
} else {
if (nill) {
QName qname = corbaTypeImpl.getQName();
- qname = wsdlToCorbaBinding.getHelper().createQNameCorbaNamespace(qname.getLocalPart()
- + "_nil");
+ qname = wsdlToCorbaBinding.getHelper()
+ .createQNameCorbaNamespace(
+ qname.getLocalPart() + "_nil");
paramtype.setIdltype(qname);
} else {
paramtype.setIdltype(corbaTypeImpl.getQName());
- }
- }
+ }
+ }
return paramtype;
}
return paramtype;
}
-
- private static boolean inputPartsHaveNoDocWrapper(String opName, Operation operation,
- List<XmlSchema> xmlSchemaList)
+ private static boolean inputPartsHaveNoDocWrapper(String opName,
+ Operation operation, List<XmlSchema> xmlSchemaList)
throws Exception {
-
- XmlSchemaType schemaType = null;
+
+ XmlSchemaType schemaType = null;
Iterator i = null;
Input input = operation.getInput();
if (input != null) {
Message msg = input.getMessage();
- i = msg.getParts().values().iterator();
+ i = msg.getParts().values().iterator();
if (msg.getParts().size() == 0) {
return false;
}
-
- Part part = (Part)i.next();
-
+
+ Part part = (Part) i.next();
+
if (i.hasNext()) {
return true;
}
- schemaType = lookUpType(part, xmlSchemaList);
+ schemaType = lookUpType(part, xmlSchemaList);
if (!(part.getName().equals(opName))) {
return true;
}
@@ -535,17 +608,16 @@
return true;
}
- XmlSchemaComplexType cpt = (XmlSchemaComplexType)schemaType;
+ XmlSchemaComplexType cpt = (XmlSchemaComplexType) schemaType;
return checkComplex(cpt);
}
return false;
-
- }
+ }
- private static boolean outputPartsHaveNoDocWrapper(String opName, Operation operation,
- List<XmlSchema> xmlSchemaList)
+ private static boolean outputPartsHaveNoDocWrapper(String opName,
+ Operation operation, List<XmlSchema> xmlSchemaList)
throws Exception {
XmlSchemaType schemaType = null;
@@ -560,7 +632,7 @@
return false;
}
- Part part = (Part)i.next();
+ Part part = (Part) i.next();
if (i.hasNext()) {
return true;
@@ -575,7 +647,7 @@
return true;
}
- XmlSchemaComplexType cpt = (XmlSchemaComplexType)schemaType;
+ XmlSchemaComplexType cpt = (XmlSchemaComplexType) schemaType;
return checkComplex(cpt);
}
@@ -583,9 +655,10 @@
}
- private static boolean checkComplex(XmlSchemaComplexType cpt) throws Exception {
-
- XmlSchemaParticle particle = (XmlSchemaParticle)cpt.getParticle();
+ private static boolean checkComplex(XmlSchemaComplexType cpt)
+ throws Exception {
+
+ XmlSchemaParticle particle = (XmlSchemaParticle) cpt.getParticle();
if (particle == null) {
return true;
}
@@ -599,7 +672,7 @@
}
if (particle instanceof XmlSchemaSequence) {
- XmlSchemaSequence seq = (XmlSchemaSequence)particle;
+ XmlSchemaSequence seq = (XmlSchemaSequence) particle;
Iterator it = seq.getItems().getIterator();
while (it.hasNext()) {
if (!(it.next() instanceof XmlSchemaElement)) {
@@ -609,6 +682,6 @@
}
return false;
- }
-
+ }
+
}
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToCorbaHelper.java Tue Feb 27 07:15:05 2007
@@ -111,6 +111,10 @@
public void setXMLSchemaList(List<XmlSchema> list) {
xmlSchemaList = list;
}
+
+ public List<XmlSchema> getXMLSchemaList() {
+ return xmlSchemaList;
+ }
public void setWsdlDefinition(Definition defn) {
def = defn;
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToIDLAction.java Tue Feb 27 07:15:05 2007
@@ -427,10 +427,10 @@
}
protected IdlType createType(QName idlType, String name[], CorbaTypeImpl corbaType) throws Exception {
- if (idlType.getLocalPart().equals("Object")) {
- return IdlInterface.create(null, idlType.getLocalPart());
+ if (idlType.getLocalPart().equals("CORBA.Object")) {
+ return IdlInterface.create(null, "Object");
}
-
+
CorbaTypeImpl corbaTypeImpl = corbaType;
if (corbaTypeImpl == null) {
corbaTypeImpl = getCorbaType(idlType);
@@ -449,6 +449,17 @@
for (int i = 0; i < name.length - 1; ++i) {
dotScopedName += name[i];
+ // If we have the name CORBA, we need to make sure we are not handling the CORBA.Object
+ // name which is used for object references. If so, we don't want to generate a module
+ // since it is not a type we need to define in our IDL. This only happens when the
+ // name is "CORBA", we have a name array of length 2 and we are at the beginning of the
+ // name array.
+ if (dotScopedName.equals("CORBA") && name.length == 2 && i == 0) {
+ if (name[i + 1].equals("Object")) {
+ break;
+ }
+ }
+
IdlDefn idlDef = scope.lookup(name[i]);
if (idlDef == null) {
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLToProcessor.java Tue Feb 27 07:15:05 2007
@@ -79,7 +79,6 @@
toolContext = toolCtx;
}
-
public void parseWSDL(String wsdlUrl) {
try {
WSDLFactory factory = WSDLFactory.newInstance();
Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java (original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/wsdl/WSDLTypes.java Tue Feb 27 07:15:05 2007
@@ -128,7 +128,7 @@
if (corbaTypeImpl == null) {
org.apache.schemas.yoko.bindings.corba.Object obj =
new org.apache.schemas.yoko.bindings.corba.Object();
- QName name = new QName(idlNamespace, "Object", definition.getPrefix(idlNamespace));
+ QName name = new QName(idlNamespace, "CORBA.Object", definition.getPrefix(idlNamespace));
obj.setName(name.getLocalPart());
obj.setQName(name);
obj.setRepositoryID("IDL:omg.org/CORBA/Object/1.0");
Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java (original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/WSDLToCorbaBindingTypeTest.java Tue Feb 27 07:15:05 2007
@@ -97,7 +97,7 @@
Element typemap = getElementNode(document, "corba:typeMapping");
assertNotNull(typemap);
assertEquals(1, typemap.getElementsByTagName("corba:sequence").getLength());
- assertEquals(2, typemap.getElementsByTagName("corba:object").getLength());
+ assertEquals(2, typemap.getElementsByTagName("corba:object").getLength());
WSDLToIDLAction idlgen = new WSDLToIDLAction();
idlgen.setBindingName("BankCORBABinding");
Modified: incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_wsaddressing_bank.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_wsaddressing_bank.idl?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_wsaddressing_bank.idl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idlgen/expected_wsaddressing_bank.idl Tue Feb 27 07:15:05 2007
@@ -30,11 +30,11 @@
list_accounts(
in string account_name
);
- Object
+ ::Account
create_account(
in string account_name
);
- Object
+ ::Account
get_account(
in string account_name
);
@@ -42,4 +42,4 @@
delete_account(
in string account_name
);
-};
\ No newline at end of file
+};
Modified: incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_bank.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_bank.wsdl?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_bank.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_bank.wsdl Tue Feb 27 07:15:05 2007
@@ -21,7 +21,7 @@
<definitions name="BaseService" targetNamespace="http://www.apache.org/bus/demos/bank" xmlns:tns="http://www.apache.org/bus/demos/bank" xmlns:bank="http://www.apache.org/bus/demos/bank" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://www.apache.org/corba/typemap/BasePortType.idl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" xmlns:xsd1="http://soapinterop.org/xsd" xmlns="http://schemas.xmlsoap.org/wsdl/">
<corba:typeMapping targetNamespace="http://www.apache.org/bus/demos/bank/corba/typemap/">
<corba:sequence xmlns:tns="http://www.apache.org/bus/demos/bank" elemtype="corba:string" bound="0" repositoryID="IDL:AccountNames:1.0" type="tns:AccountNames" name="AccountNames" />
- <corba:object xmlns:wsa="http://www.w3.org/2005/08/addressing" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="wsa:EndpointReferenceType" name="Object" />
+ <corba:object xmlns:wsa="http://www.w3.org/2005/08/addressing" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="wsa:EndpointReferenceType" name="CORBA.Object" />
<corba:object xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:ns3="http://www.apache.org/bus/demos/bank" binding="ns3:AccountCORBABinding" repositoryID="IDL:Account:1.0" type="wsa:EndpointReferenceType" name="Account" />
</corba:typeMapping>
<types>
@@ -136,7 +136,7 @@
<operation name="create_account">
<corba:operation name="create_account">
<corba:param mode="in" name="account_name" idltype="corba:string" />
- <corba:return xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" name="return" idltype="ns2:Object" />
+ <corba:return xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" name="return" idltype="ns2:Account" />
</corba:operation>
<input name="create_account">
</input>
@@ -146,7 +146,7 @@
<operation name="get_account">
<corba:operation name="get_account">
<corba:param mode="in" name="account_name" idltype="corba:string" />
- <corba:return xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" name="return" idltype="ns2:Object" />
+ <corba:return xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" name="return" idltype="ns2:Account" />
</corba:operation>
<input name="get_account">
</input>
Modified: incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_server.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_server.wsdl?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_server.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/idlgen/wsaddressing_server.wsdl Tue Feb 27 07:15:05 2007
@@ -20,18 +20,17 @@
<definitions name="c/epr.idl" targetNamespace="http://schemas.apache.org/idl/c/epr.idl" xmlns:tns="http://schemas.apache.org/idl/c/epr.idl" xmlns:corbatm="http://schemas.apache.org/typemap/corba/c/epr.idl" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://schemas.apache.org/idl/c/epr.idl/corba/typemap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:addressing="http://www.w3.org/2005/08/addressing" xmlns:xsd1="http://schemas.apache.org/idltypes/c/epr.idl" xmlns="http://schemas.xmlsoap.org/wsdl/">
<corba:typeMapping targetNamespace="http://schemas.apache.org/idl/c/epr.idl/corba/typemap/">
- <corba:object xmlns:addressing="http://www.w3.org/2005/08/addressing" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="addressing:EndpointReferenceType" name="Object" />
+ <corba:object xmlns:addressing="http://www.w3.org/2005/08/addressing" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="addressing:EndpointReferenceType" name="CORBA.Object" />
</corba:typeMapping>
<types>
<schema targetNamespace="http://schemas.apache.org/idltypes/c/epr.idl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<xsd:import xmlns:xsd="http://www.w3.org/2001/XMLSchema" namespace="http://www.w3.org/2005/08/addressing" schemaLocation="./src/test/resources/wsdl/wsaddressing.xsd"/>
- <xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="xsd1:TestServer.register.cb" type="addressing:EndpointReferenceType"/>
</schema>
</types>
<message name="TestServer.registerResponse">
</message>
<message name="TestServer.register">
- <part name="cb" element="xsd1:TestServer.register.cb"/>
+ <part name="cb" element="addressing:EndpointReferenceType"/>
</message>
<portType name="TestServer">
<operation name="register">
@@ -43,7 +42,7 @@
<corba:binding repositoryID="IDL:TestServer:1.0" />
<operation name="register">
<corba:operation name="register">
- <corba:param xmlns:ns1="http://schemas.apache.org/idl/c/epr.idl/corba/typemap/" mode="in" name="cb" idltype="ns1:Object" />
+ <corba:param xmlns:ns1="http://schemas.apache.org/idl/c/epr.idl/corba/typemap/" mode="in" name="cb" idltype="ns1:CORBA.Object" />
</corba:operation>
<input name="register">
</input>
Modified: incubator/yoko/trunk/tools/src/test/resources/wsdl/wsaddressing_bank.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/wsdl/wsaddressing_bank.wsdl?view=diff&rev=512275&r1=512274&r2=512275
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/wsdl/wsaddressing_bank.wsdl (original)
+++ incubator/yoko/trunk/tools/src/test/resources/wsdl/wsaddressing_bank.wsdl Tue Feb 27 07:15:05 2007
@@ -21,7 +21,7 @@
<definitions name="BaseService" targetNamespace="http://www.apache.org/bus/demos/bank" xmlns:tns="http://www.apache.org/bus/demos/bank" xmlns:bank="http://www.apache.org/bus/demos/bank" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba" xmlns:ns1="http://www.apache.org/corba/typemap/BasePortType.idl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://www.apache.org/bus/demos/bank/corba/typemap/" xmlns:xsd1="http://soapinterop.org/xsd" xmlns="http://schemas.xmlsoap.org/wsdl/">
<corba:typeMapping targetNamespace="http://www.apache.org/bus/demos/bank/corba/typemap/">
<corba:sequence xmlns:tns="http://www.apache.org/bus/demos/bank" elemtype="corba:string" bound="0" repositoryID="IDL:AccountNames:1.0" type="tns:AccountNames" name="AccountNames" />
- <corba:object xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns="" xmlns:ns3="http://schemas.xmlsoap.org/wsdl/" binding="" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="wsa:EndpointReferenceType" name="Object" />
+ <corba:object xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns="" xmlns:ns3="http://schemas.xmlsoap.org/wsdl/" binding="" repositoryID="IDL:omg.org/CORBA/Object/1.0" type="wsa:EndpointReferenceType" name="CORBA.Object" />
</corba:typeMapping>
<types>
<schema elementFormDefault="qualified" targetNamespace="http://www.apache.org/bus/demos/bank" xmlns="http://www.w3.org/2001/XMLSchema">