You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by mm...@apache.org on 2005/02/01 04:02:02 UTC
svn commit: r149360 -
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java
Author: mmerz
Date: Mon Jan 31 19:02:00 2005
New Revision: 149360
URL: http://svn.apache.org/viewcvs?view=rev&rev=149360
Log:
fixed the BARE/WRAPPED bug in the wsdl processing
Contributor: Daryoush Mehrtash
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java
Modified: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java?view=diff&r1=149359&r2=149360
==============================================================================
--- incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java (original)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/wsdl/XmlBeanWSDLProcessor.java Mon Jan 31 19:02:00 2005
@@ -75,7 +75,7 @@
/*******************************************************************************
* An Implementation of WSDLProcessor that uses XmlBeans to convert the WSDL
* into the WSM Object Model.
- *
+ *
* @author Jonathan Colwell
*/
public class XmlBeanWSDLProcessor implements WSDLProcessor {
@@ -165,42 +165,31 @@
}
/*
- public static DefinitionsDocument fromWebServiceMetadata
- (WebServiceTYPEMetadata wsm)
- throws Exception {
- String ns = wsm.getWsTargetNamespace();
- DefinitionsDocument defDoc = DefinitionsDocument.Factory.newInstance();
- TDefinitions tDefs = defDoc.addNewDefinitions();
- TPortType tPT = tDefs.addNewPortType();
- tPT.setName(wsm.getWsName());
- TBinding tBind = tDefs.addNewBinding();
- tBind.setName(tPT.getName() + "Binding");
- tBind.setType(new QName(ns, tPT.getName()));
- org.xmlsoap.schemas.wsdl.soap.BindingDocument bindDoc =
- org.xmlsoap.schemas.wsdl.soap.BindingDocument.Factory.newInstance();
- org.xmlsoap.schemas.wsdl.soap.TBinding tSoapBind = bindDoc
- .addNewBinding();
- if (SOAPBinding.Style.DOCUMENT.equals(wsm.getSoapBinding().getStyle())) {
- tSoapBind.setStyle(TStyleChoice.DOCUMENT);
- } else {
- tSoapBind.setStyle(TStyleChoice.RPC);
- }
- tSoapBind.setTransport(TRANSPORT);
- insertChild(tBind, bindDoc);
- processMethodMetadata(wsm.getMethods(), tDefs, tPT, tBind, ns);
- TService tServ = tDefs.addNewService();
- tServ.setName(wsm.getWsServiceName());
- TPort tPort = tServ.addNewPort();
- tPort.setName(wsm.getWsName());
- tPort.setBinding(new QName(ns, tBind.getName()));
- org.xmlsoap.schemas.wsdl.soap.AddressDocument addrDoc =
- org.xmlsoap.schemas.wsdl.soap.AddressDocument.Factory.newInstance();
- org.xmlsoap.schemas.wsdl.soap.TAddress tAddr = addrDoc.addNewAddress();
- tAddr.setLocation("fake://FAKEURL");
- insertChild(tPort, tAddr);
- return defDoc;
- }
- */
+ * public static DefinitionsDocument fromWebServiceMetadata
+ * (WebServiceTYPEMetadata wsm) throws Exception { String ns =
+ * wsm.getWsTargetNamespace(); DefinitionsDocument defDoc =
+ * DefinitionsDocument.Factory.newInstance(); TDefinitions tDefs =
+ * defDoc.addNewDefinitions(); TPortType tPT = tDefs.addNewPortType();
+ * tPT.setName(wsm.getWsName()); TBinding tBind = tDefs.addNewBinding();
+ * tBind.setName(tPT.getName() + "Binding"); tBind.setType(new QName(ns,
+ * tPT.getName())); org.xmlsoap.schemas.wsdl.soap.BindingDocument bindDoc =
+ * org.xmlsoap.schemas.wsdl.soap.BindingDocument.Factory.newInstance();
+ * org.xmlsoap.schemas.wsdl.soap.TBinding tSoapBind = bindDoc
+ * .addNewBinding(); if
+ * (SOAPBinding.Style.DOCUMENT.equals(wsm.getSoapBinding().getStyle())) {
+ * tSoapBind.setStyle(TStyleChoice.DOCUMENT); } else {
+ * tSoapBind.setStyle(TStyleChoice.RPC); }
+ * tSoapBind.setTransport(TRANSPORT); insertChild(tBind, bindDoc);
+ * processMethodMetadata(wsm.getMethods(), tDefs, tPT, tBind, ns); TService
+ * tServ = tDefs.addNewService(); tServ.setName(wsm.getWsServiceName());
+ * TPort tPort = tServ.addNewPort(); tPort.setName(wsm.getWsName());
+ * tPort.setBinding(new QName(ns, tBind.getName()));
+ * org.xmlsoap.schemas.wsdl.soap.AddressDocument addrDoc =
+ * org.xmlsoap.schemas.wsdl.soap.AddressDocument.Factory.newInstance();
+ * org.xmlsoap.schemas.wsdl.soap.TAddress tAddr = addrDoc.addNewAddress();
+ * tAddr.setLocation("fake://FAKEURL"); insertChild(tPort, tAddr); return
+ * defDoc; }
+ */
private void processTOperation(TOperation op,
Jsr181TypeMetadata wsm,
@@ -226,7 +215,8 @@
returnType = paraMeta[0].getJavaType();
returnXMLType = paraMeta[0].getXmlType();
} else {
- // either there is no return value or there are multiple so make this a
+ // either there is no return value or there are multiple so make
+ // this a
// void function and later set OUT parameters if needed.
returnType=Void.TYPE;
returnXMLType = null;
@@ -262,23 +252,36 @@
methodMap.put(opName, wmm);
- List paramOrder = op.getParameterOrder(); // this is the one used by rpc wsdls.
+ List paramOrder = op.getParameterOrder(); // this is the one used by
+ // rpc wsdls.
TParam inputParam = op.getInput();
if (inputParam != null) {
Jsr181ParameterMetadata[] params =
processParameters(inputParam, types, messageMap, wsm);
- if (paramOrder != null) { // walk the parameters according to order if they exist.
- // note that the Jsr181MethodMetadata needs correct order of the parameters (simnilar reflection of method).
+ if (paramOrder != null) { // walk the parameters according to order
+ // if they exist.
+ // note that the Jsr181MethodMetadata
+ // needs correct order of the parameters
+ // (simnilar reflection of method).
- // TODO: Paramorder is only used for rpc. This code should be modified so that in/out parameters are all handled in one place.
- // if there is a paramoder then order the parameters, then all the parameters and look at in/out flag.
+ // TODO: Paramorder is only used for rpc. This code should be
+ // modified so that in/out parameters are all handled in one
+ // place.
+ // if there is a paramoder then order the parameters, then all
+ // the parameters and look at in/out flag.
for (Object ord : paramOrder) {
for (Jsr181ParameterMetadata wpm : params) {
if (ord.equals(wpm.getWpName())) {
- wpm.setWpMode(WebParam.Mode.IN); //THIUS MAY BE BUG... WE NEED TO MAKE SURE TO HANDLE THE OUT PARAMTERS ALSO (like the code for below)
+ wpm.setWpMode(WebParam.Mode.IN); //THIUS MAY BE
+ // BUG... WE NEED
+ // TO MAKE SURE TO
+ // HANDLE THE OUT
+ // PARAMTERS ALSO
+ // (like the code
+ // for below)
wmm.addParam(wpm);
break;
}
@@ -287,10 +290,15 @@
}
else if (params.length > 0) {
for (Jsr181ParameterMetadata wpm : params) {
- // FIXME jcolwell@bea.com 2005-Jan-04 --
+ // FIXME jcolwell@bea.com 2005-Jan-04 --
// Double check DOC/Lit rules
if (outParamMap != null && outParamMap.containsKey(wpm.getWpName())) {
- outParamMap.remove(wpm.getWpName()); // important... if this param is in.out it was in the out list also, so remove it.
+ outParamMap.remove(wpm.getWpName()); // important... if
+ // this param is
+ // in.out it was
+ // in the out list
+ // also, so remove
+ // it.
wpm.setWpMode(WebParam.Mode.INOUT);
}
else {
@@ -318,15 +326,13 @@
List<Jsr181ParameterMetadata> params = wmm.getParams();
/*
- System.out.println("adding method " + wmm.getWmOperationName()
- + " returning " + wmm.getJavaReturnType()
- + " with the following " + params.size()
- + " parameters");
-
- for (Jsr181ParameterMetadata wpm : params) {
- System.out.println(wpm.getWpName() + ':' + wpm.getJavaType());
- }
- */
+ * System.out.println("adding method " + wmm.getWmOperationName() + "
+ * returning " + wmm.getJavaReturnType() + " with the following " +
+ * params.size() + " parameters");
+ *
+ * for (Jsr181ParameterMetadata wpm : params) {
+ * System.out.println(wpm.getWpName() + ':' + wpm.getJavaType()); }
+ */
wsm.addMethod(wmm);
}
@@ -348,38 +354,81 @@
QName paramXmlType;
- if (messagePart.isSetElement()) { // if element attribute is set we are looking at document style
- // in case of rpc message part would look something like: <part name="key" type="xsd:string"/>
- // otherwise it case of document it looks liek <part element="xxxx" name="parameters">
- // we know we are document, and thus literal. and most likely using xml beans, but can use axis too.
+ if (messagePart.isSetElement()) { // if element attribute is set
+ // we are looking at document
+ // style
+ // in case of rpc message part
+ // would look something like:
+ // <part name="key"
+ // type="xsd:string"/>
+ // otherwise it case of
+ // document it looks liek
+ // <part element="xxxx"
+ // name="parameters">
+ // we know we are document, and thus literal. and most
+ // likely using xml beans, but can use axis too.
QName element = messagePart.getElement();
- Class javaType = getTypeMappingUtil().q2Class(element); // in case of xml beans (or other registered types) we don't need to dig any further
- if (Object.class.equals(javaType)) { // if q2class fails, it reutrns an object.
- // we know document, literal, there are no reguistered types for the messasge.
- // system needs to wrap/unwrap the messages. Thus the method metadata must reflect this.
-
+ Class javaType = getTypeMappingUtil().q2Class(element);
+ // in case of xmlbeans(or other registered types) we don't need
+ // to dig any further
+ String name = messagePart.getName();
+ if (0 == "parameters".compareTo(name)) {
+ // if q2class fails,it reutrns an object.
+ // we know document, literal, there are no reguistered
+ // types for the messasge.
+ // system needs to wrap/unwrap the messages. Thus the
+ // method metadata must reflect this.
+ // Also if name="parameters" we need to unwarp the message/
+
+
- if (types != null) { // if there are some type sections.
+ if (types != null) { // if there are some type
try {
Schema[] schemas = selectChildren(types,
- Schema.class); // We are looking at schemas that are defined in this schema.
- //---- THIS WOULD NOT RECOGNIZE IMPORTED SCHEMAS.
+ Schema.class);
+ // We are looking at schemas that are defined in
+ // this schema.
+ //---- // THIS WOULD NOT RECOGNIZE IMPORTED SCHEMAS.
for (Schema s : schemas) {
if (s.getTargetNamespace()
- .equals(element.getNamespaceURI())) { // if namespace matched the element.
+ .equals(element.getNamespaceURI())) { // if
+ // namespace
+ // matched
+ // the
+ // element.
Element[] elements = s.getElementArray();
for (Element e : elements) {
if (e.getName()
.equals(element.getLocalPart())) {
- if (e.isSetType()) { // simple type, element has name and type in same node for complex type it is only
- // name and type is defined as <complexType> child./
+ if (e.isSetType()) { // simple
+ // type,
+ // element
+ // has
+ // name
+ // and
+ // type in
+ // same
+ // node
+ // for
+ // complex
+ // type it
+ // is only
+ // name
+ // and
+ // type is
+ // defined
+ // as
+ // <complexType>
+ // child./
Jsr181ParameterMetadata wpm =
new Jsr181ParameterMetadataImpl();
wpm.setWpName(e.getName());
- // FIXME jcolwell@bea.com 2004-Nov-09 -- double check the namespace stuff
+ // FIXME jcolwell@bea.com
+ // 2004-Nov-09 -- double
+ // check the namespace stuff
wpm.setWpTargetNamespace
(s.getTargetNamespace());
QName type = e.getType();
@@ -388,31 +437,53 @@
.q2Class(type));
/*
- System.out.println(wpm.getWpName()
- + " of type "
- + wpm.getJavaType());
- */
+ * System.out.println(wpm.getWpName() + " of
+ * type " + wpm.getJavaType());
+ */
paramList.add(wpm);
}
else {
- // we have <element name=xxx> and its child must be comlexType, or somethig is wrong
+ // we have <element
+ // name=xxx> and its child
+ // must be comlexType, or
+ // somethig is wrong
ComplexType ct = e.getComplexType();
if (ct != null
&& ct.isSetSequence()) {
// DOC/LIT WSDL
- Group g = ct.getSequence(); // NOTE there may other groupings also here (e.g. for arrays)
- // that we are not handling correctly.
- // its child is either <element name="xxxx" type="xxx" /> or
- //<element ref="xxx />
+ Group g = ct.getSequence(); // NOTE
+ // there
+ // may
+ // other
+ // groupings
+ // also
+ // here
+ // (e.g.
+ // for
+ // arrays)
+ // that
+ // we
+ // are
+ // not
+ // handling
+ // correctly.
+ // its child is
+ // either <element
+ // name="xxxx"
+ // type="xxx" /> or
+ //<element ref="xxx />
for (Element el : g.getElementArray()) {
Jsr181ParameterMetadata wpm =
new Jsr181ParameterMetadataImpl();
- // FIXME jcolwell@bea.com 2004-Nov-09
- // double check the namespace stuff
+ // FIXME
+ // jcolwell@bea.com
+ // 2004-Nov-09
+ // double check the
+ // namespace stuff
wpm.setWpTargetNamespace
(s.getTargetNamespace());
@@ -425,25 +496,26 @@
wpm.setXmlType(type);
wpm.setJavaType(getTypeMappingUtil().q2Class(type));
/*
- System.out.println(wpm
- .getWpName()
- + " of type "
- + wpm.getJavaType());
- */
+ * System.out.println(wpm
+ * .getWpName() + " of type " +
+ * wpm.getJavaType());
+ */
paramList.add(wpm);
}
else if (el.isSetRef()) {
QName ref = el.getRef();
/*
- System.out.println
- ("ref is set to: " + ref);*/
+ * System.out.println ("ref is set
+ * to: " + ref);
+ */
wpm.setWpName(ref.getLocalPart());
wpm.setXmlType(ref);
Class cl = getTypeMappingUtil()
.q2Class(ref);
- /*System.out.println
- ("resulting java type: " +
- cl.getName());*/
+ /*
+ * System.out.println ("resulting
+ * java type: " + cl.getName());
+ */
wpm.setJavaType(cl);
paramList.add(wpm);
@@ -460,10 +532,12 @@
}
catch (Exception e) {
e.printStackTrace();
- }
- }
+ } }
}
- else { // if we did find object form qname. also we know that there are xml-aware classes that can decode the xml we let them do the
+ else {
+ // if we did find object form qname. also we know
+ // that there are xml-aware classes that can decode
+ // the xml we let them do the
// processing.
// NOTE jcolwell@bea.com 2005-Jan-07 -- Doc/Lit Bare
@@ -482,16 +556,16 @@
else { // this is an rpc and with no element attribute
Jsr181ParameterMetadata wpm =
new Jsr181ParameterMetadataImpl();
- // FIXME jcolwell@bea.com 2004-Nov-09 -- figure out where RPC parameter namespaces should be specified in the WSDL.
+ // FIXME jcolwell@bea.com 2004-Nov-09 -- figure out where
+ // RPC parameter namespaces should be specified in the WSDL.
wpm.setWpTargetNamespace(wsm.getWsTargetNamespace());
wpm.setWpName(messagePart.getName());
QName type = messagePart.getType();
wpm.setXmlType(type);
wpm.setJavaType(getTypeMappingUtil().q2Class(type));
/*
- System.out.println(wpm.getWpName()
- + " of type "
- + wpm.getJavaType());
+ * System.out.println(wpm.getWpName() + " of type " +
+ * wpm.getJavaType());
*/
paramList.add(wpm);
}
@@ -502,6 +576,14 @@
return new Jsr181ParameterMetadata[0];
}
+ /**
+ * @param types
+ */
+ private void doUnknownTypes(TTypes types) {
+ // sections.
+
+ }
+
private void processTBinding(TBinding tBind,
Jsr181TypeMetadata wsm)
throws IllegalAccessException, NoSuchFieldException {
@@ -555,127 +637,81 @@
}
/*
- private static void processMethodMetadata
- (Collection<WebServiceMETHODMetadata> methods,
- TDefinitions defs,
- TPortType portType,
- TBinding bind,
- String namespace) {
- for (WebServiceMETHODMetadata op : methods) {
- String operationName = op.getWmOperationName();
- String request = operationName + "Request";
- String response = operationName + "Response";
- TMessage tMsg = defs.addNewMessage();
- tMsg.setName(request);
- List<String> paramOrder = new ArrayList<String>();
- processParameterMetadata(op.getParams(), paramOrder, tMsg);
- if (!op.isOneWay()) {
- tMsg = defs.addNewMessage();
- tMsg.setName(response);
- TPart tPart = tMsg.addNewPart();
- tPart.setName(op.getWrName());
- tPart.setType(class2QName(op.getJavaReturnType()));
- //tPart.setElement(new QName("some", "element");
- }
- TOperation tOp = portType.addNewOperation();
- tOp.setName(operationName);
- tOp.setParameterOrder(paramOrder);
- TParam input = tOp.addNewInput();
- TParam output = tOp.addNewOutput();
- input.setName(request);
- input.setMessage(new QName(namespace, request));
- if (!op.isOneWay()) {
- output.setName(response);
- output.setMessage(new QName(namespace, response));
- }
- processBindingOperationMetadata(bind.addNewOperation(),
- op,
- namespace,
- operationName,
- request,
- response);
- }
- }
-
- private static void processParameterMetadata
- (Collection<WebServicePARAMETERMetadata> params,
- List<String> paramOrder,
- TMessage msg) {
- for (WebServicePARAMETERMetadata param : params) {
- TPart tPart = msg.addNewPart();
- tPart.setName(param.getWpName());
- tPart.setType(class2QName(param.getJavaType()));
- paramOrder.add(param.getWpName());
- }
- }
-
- private static void processBindingOperationMetadata(TBindingOperation tBop,
- WebServiceMETHODMetadata op,
- String namespace,
- String operationName,
- String request,
- String response) {
- tBop.setName(operationName);
- org.xmlsoap.schemas.wsdl.soap.OperationDocument opDoc =
- org.xmlsoap.schemas.wsdl.soap.OperationDocument.Factory
- .newInstance();
- org.xmlsoap.schemas.wsdl.soap.TOperation tSoapOperation =
- opDoc.addNewOperation();
- tSoapOperation.setSoapAction(op.getWmAction());
-// SOAPBindingInfo sb = op.getSoapBinding();
-// if (sb != null && SOAPBinding.Style.DOCUMENT.equals(sb.getStyle())) {
-// tSoapOperation.setStyle(TStyleChoice.DOCUMENT);
-// }
-// else {
-// tSoapOperation.setStyle(TStyleChoice.RPC);
-// }
- insertChild(tBop, opDoc);
- TBindingOperationMessage inBom = tBop.addNewInput();
- TBindingOperationMessage outBom = tBop.addNewOutput();
- inBom.setName(request);
- outBom.setName(response);
- */
+ * private static void processMethodMetadata (Collection
+ * <WebServiceMETHODMetadata> methods, TDefinitions defs, TPortType
+ * portType, TBinding bind, String namespace) { for
+ * (WebServiceMETHODMetadata op : methods) { String operationName =
+ * op.getWmOperationName(); String request = operationName + "Request";
+ * String response = operationName + "Response"; TMessage tMsg =
+ * defs.addNewMessage(); tMsg.setName(request); List <String> paramOrder =
+ * new ArrayList <String>(); processParameterMetadata(op.getParams(),
+ * paramOrder, tMsg); if (!op.isOneWay()) { tMsg = defs.addNewMessage();
+ * tMsg.setName(response); TPart tPart = tMsg.addNewPart();
+ * tPart.setName(op.getWrName());
+ * tPart.setType(class2QName(op.getJavaReturnType()));
+ * //tPart.setElement(new QName("some", "element"); } TOperation tOp =
+ * portType.addNewOperation(); tOp.setName(operationName);
+ * tOp.setParameterOrder(paramOrder); TParam input = tOp.addNewInput();
+ * TParam output = tOp.addNewOutput(); input.setName(request);
+ * input.setMessage(new QName(namespace, request)); if (!op.isOneWay()) {
+ * output.setName(response); output.setMessage(new QName(namespace,
+ * response)); } processBindingOperationMetadata(bind.addNewOperation(), op,
+ * namespace, operationName, request, response); } }
+ *
+ * private static void processParameterMetadata (Collection
+ * <WebServicePARAMETERMetadata> params, List <String> paramOrder, TMessage
+ * msg) { for (WebServicePARAMETERMetadata param : params) { TPart tPart =
+ * msg.addNewPart(); tPart.setName(param.getWpName());
+ * tPart.setType(class2QName(param.getJavaType()));
+ * paramOrder.add(param.getWpName()); } }
+ *
+ * private static void processBindingOperationMetadata(TBindingOperation
+ * tBop, WebServiceMETHODMetadata op, String namespace, String
+ * operationName, String request, String response) {
+ * tBop.setName(operationName);
+ * org.xmlsoap.schemas.wsdl.soap.OperationDocument opDoc =
+ * org.xmlsoap.schemas.wsdl.soap.OperationDocument.Factory .newInstance();
+ * org.xmlsoap.schemas.wsdl.soap.TOperation tSoapOperation =
+ * opDoc.addNewOperation(); tSoapOperation.setSoapAction(op.getWmAction()); //
+ * SOAPBindingInfo sb = op.getSoapBinding(); // if (sb != null &&
+ * SOAPBinding.Style.DOCUMENT.equals(sb.getStyle())) { //
+ * tSoapOperation.setStyle(TStyleChoice.DOCUMENT); // } // else { //
+ * tSoapOperation.setStyle(TStyleChoice.RPC); // } insertChild(tBop, opDoc);
+ * TBindingOperationMessage inBom = tBop.addNewInput();
+ * TBindingOperationMessage outBom = tBop.addNewOutput();
+ * inBom.setName(request); outBom.setName(response);
+ */
/*
- * NOTE jcolwell@bea.com 2004-Aug-31 -- Using the same body
- * for both the input and output, this may need to be changed.
+ * NOTE jcolwell@bea.com 2004-Aug-31 -- Using the same body for both the
+ * input and output, this may need to be changed.
*/
/*
- org.xmlsoap.schemas.wsdl.soap.BodyDocument bodDoc =
- org.xmlsoap.schemas.wsdl.soap.BodyDocument.Factory.newInstance();
- org.xmlsoap.schemas.wsdl.soap.TBody tBod = bodDoc.addNewBody();
-
-// if (sb != null && SOAPBinding.Use.LITERAL.equals(sb.getUse())) {
-// tBod.setUse(UseChoice.LITERAL);
-// }
-// else {
-// tBod.setUse(UseChoice.ENCODED);
-// }
+ * org.xmlsoap.schemas.wsdl.soap.BodyDocument bodDoc =
+ * org.xmlsoap.schemas.wsdl.soap.BodyDocument.Factory.newInstance();
+ * org.xmlsoap.schemas.wsdl.soap.TBody tBod = bodDoc.addNewBody(); // if (sb !=
+ * null && SOAPBinding.Use.LITERAL.equals(sb.getUse())) { //
+ * tBod.setUse(UseChoice.LITERAL); // } // else { //
+ * tBod.setUse(UseChoice.ENCODED); // }
*/
/*
- * NOTE jcolwell@bea.com 2004-Aug-31 -- not sure what parts
- * get set here.
+ * NOTE jcolwell@bea.com 2004-Aug-31 -- not sure what parts get set
+ * here.
*/
// tBod.setParts(?);
/*
- tBod.setNamespace(namespace);
- List<String> encodingStyles = new ArrayList<String>();
- encodingStyles.add(SOAPENCODING);
- tBod.setEncodingStyle(encodingStyles);
- insertChild(inBom, bodDoc);
- insertChild(outBom, bodDoc);
- }
-
-
- public static boolean insertChild(XmlObject parent, XmlObject child) {
- // might need to use copyXmlContents() instead if copyXml copies too much
- XmlCursor kidCursor = child.newCursor();
- XmlCursor parentCursor = parent.newCursor();
- parentCursor.toFirstContentToken();
- //parentCursor.toNextToken();
- kidCursor.toNextToken();
- return kidCursor.copyXml(parentCursor);
- }
- */
+ * tBod.setNamespace(namespace); List <String> encodingStyles = new
+ * ArrayList <String>(); encodingStyles.add(SOAPENCODING);
+ * tBod.setEncodingStyle(encodingStyles); insertChild(inBom, bodDoc);
+ * insertChild(outBom, bodDoc); }
+ *
+ *
+ * public static boolean insertChild(XmlObject parent, XmlObject child) { //
+ * might need to use copyXmlContents() instead if copyXml copies too much
+ * XmlCursor kidCursor = child.newCursor(); XmlCursor parentCursor =
+ * parent.newCursor(); parentCursor.toFirstContentToken();
+ * //parentCursor.toNextToken(); kidCursor.toNextToken(); return
+ * kidCursor.copyXml(parentCursor); }
+ */
public Jsr181TypeMetadata loadWebServiceMetadataFromWSDL
(String wsdlLocation)
@@ -756,15 +792,18 @@
else {
element = st.getName();
}
- /*System.out.println("Selecting children " + element +" of class "
- + st.getJavaClass()); */
+ /*
+ * System.out.println("Selecting children " + element +" of class " +
+ * st.getJavaClass());
+ */
XmlObject[] kids = parent.selectChildren(element);
T[] castKids = (T[]) Array.newInstance(childClass, kids.length);
for (int j = 0; j < castKids.length; j++) {
if (!st.getJavaClass().isAssignableFrom(kids[j].getClass())) {
- //System.out.println("before typechange " + kids[j].getClass());
+ //System.out.println("before typechange " +
+ // kids[j].getClass());
kids[j] = kids[j].changeType(st);
//System.out.println("after typechange " + kids[j].getClass());
}