You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/10/05 07:26:08 UTC

cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava JavaDeployWriter.java JavaDefinitionWriter.java

gdaniels    2002/10/04 22:26:08

  Modified:    java/src/org/apache/axis/deployment/wsdd Tag: interop4
                        WSDDOperation.java WSDDFault.java
                        WSDDConstants.java
               java/src/org/apache/axis/wsdl/symbolTable Tag: interop4
                        SymbolTable.java BindingEntry.java
               java/src/org/apache/axis/message Tag: interop4
                        SOAPFaultDetailsBuilder.java
               java/src/org/apache/axis/description Tag: interop4
                        ServiceDesc.java
               java/src/org/apache/axis/wsdl/toJava Tag: interop4
                        JavaDeployWriter.java JavaDefinitionWriter.java
  Log:
  Continue work on faults, making sure we deal correctly with fault
  metadata.  SimpleRpcEnc fault test now passes again.  Doc/lit
  next.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.21.8.2  +8 -0      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java
  
  Index: WSDDOperation.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java,v
  retrieving revision 1.21.8.1
  retrieving revision 1.21.8.2
  diff -u -r1.21.8.1 -r1.21.8.2
  --- WSDDOperation.java	4 Oct 2002 13:06:06 -0000	1.21.8.1
  +++ WSDDOperation.java	5 Oct 2002 05:26:07 -0000	1.21.8.2
  @@ -57,6 +57,7 @@
   import org.apache.axis.description.OperationDesc;
   import org.apache.axis.description.ParameterDesc;
   import org.apache.axis.description.ServiceDesc;
  +import org.apache.axis.description.FaultDesc;
   import org.apache.axis.encoding.SerializationContext;
   import org.apache.axis.utils.XMLUtils;
   import org.w3c.dom.Element;
  @@ -167,6 +168,13 @@
               ParameterDesc parameterDesc = (ParameterDesc) i.next();
               WSDDParameter p = new WSDDParameter(parameterDesc);
               p.writeToContext(context);
  +        }
  +        
  +        ArrayList faults = desc.getFaults();
  +        for (Iterator i = faults.iterator(); i.hasNext();) {
  +            FaultDesc faultDesc = (FaultDesc) i.next();
  +            WSDDFault f = new WSDDFault(faultDesc);
  +            f.writeToContext(context);
           }
   
           context.endElement();
  
  
  
  1.1.2.2   +16 -2     xml-axis/java/src/org/apache/axis/deployment/wsdd/Attic/WSDDFault.java
  
  Index: WSDDFault.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/Attic/WSDDFault.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- WSDDFault.java	4 Oct 2002 15:30:59 -0000	1.1.2.1
  +++ WSDDFault.java	5 Oct 2002 05:26:07 -0000	1.1.2.2
  @@ -70,6 +70,10 @@
   public class WSDDFault extends WSDDElement {
       FaultDesc desc;
   
  +    public WSDDFault(FaultDesc desc) {
  +        this.desc = desc;
  +    }
  +
       /**
        * Construct a WSDDFault from a DOM Element
        * @param e the <fault> Element
  @@ -78,13 +82,19 @@
       public WSDDFault(Element e) throws WSDDException {
           super(e);
   
  +        desc = new FaultDesc();
  +        
           String qNameStr = e.getAttribute(ATTR_QNAME);
           if (qNameStr != null && !qNameStr.equals(""))
               desc.setQName(XMLUtils.getQNameFromString(qNameStr, e));
   
  -        String classNameStr = e.getAttribute(ATTR_CLASSNAME);
  +        String classNameStr = e.getAttribute(ATTR_CLASS);
           if (classNameStr != null && !classNameStr.equals(""))
               desc.setClassName(classNameStr);
  +
  +        String xmlTypeStr = e.getAttribute(ATTR_TYPE);
  +        if (xmlTypeStr != null && !xmlTypeStr.equals(""))
  +            desc.setXmlType(XMLUtils.getQNameFromString(xmlTypeStr, e));
       }
   
       /**
  @@ -105,8 +115,12 @@
                              "CDATA",
                              context.qName2String(desc.getQName()));
   
  -        attrs.addAttribute("", ATTR_CLASSNAME, ATTR_CLASSNAME,
  +        attrs.addAttribute("", ATTR_CLASS, ATTR_CLASS,
                              "CDATA", desc.getClassName());
  +
  +        attrs.addAttribute("", ATTR_TYPE, ATTR_TYPE,
  +                           "CDATA",
  +                           context.qName2String(desc.getXmlType()));
   
           context.startElement(getElementName(), attrs);
           context.endElement();
  
  
  
  1.23.2.2  +1 -0      xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java
  
  Index: WSDDConstants.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java,v
  retrieving revision 1.23.2.1
  retrieving revision 1.23.2.2
  diff -u -r1.23.2.1 -r1.23.2.2
  --- WSDDConstants.java	4 Oct 2002 13:06:06 -0000	1.23.2.1
  +++ WSDDConstants.java	5 Oct 2002 05:26:07 -0000	1.23.2.2
  @@ -178,4 +178,5 @@
       public static final String ATTR_ENCSTYLE = "encodingStyle";
       public static final String ATTR_SOAPACTORNAME = "soapActorName";
       public static final String ATTR_CLASSNAME = "classname";
  +    public static final String ATTR_CLASS = "class";
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.41.4.2  +10 -2     xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
  
  Index: SymbolTable.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v
  retrieving revision 1.41.4.1
  retrieving revision 1.41.4.2
  diff -u -r1.41.4.1 -r1.41.4.2
  --- SymbolTable.java	4 Oct 2002 23:36:32 -0000	1.41.4.1
  +++ SymbolTable.java	5 Oct 2002 05:26:07 -0000	1.41.4.2
  @@ -1495,6 +1495,8 @@
               HashMap attributes = new HashMap();
               List bindList = binding.getBindingOperations();
               Map mimeTypes = new HashMap();
  +            HashMap faultMap = new HashMap(); // name to SOAPFault from WSDL4J
  +            
               for (Iterator opIterator = bindList.iterator(); opIterator.hasNext();) {
                   BindingOperation bindOp = (BindingOperation) opIterator.next();
                   BindingInput bindingInput = bindOp.getBindingInput();
  @@ -1572,7 +1574,6 @@
                   }
   
                   // faults
  -                HashMap faultMap = new HashMap(); // name to SOAPFault from WSDL4J
                   ArrayList faults = new ArrayList();
                   Iterator faultMapIter = bindOp.getBindingFaults().values().iterator();
                   for (; faultMapIter.hasNext(); ) {
  @@ -1624,9 +1625,15 @@
                                             bindOp.getName(), 
                                             binding.getQName().toString()}));
                       }
  +                    
  +                    // FIXME
  +                    Part p = (Part)(opFault.getMessage().getParts().values().iterator().next());
  +                    QName xmlType = p.getTypeName();
  +                    
                       // put the updated entry back in the map
                       faults.add(new JavaDefinitionWriter.FaultInfo(opFault, 
  -                                                                  soapFault));
  +                                                                  soapFault,
  +                                                                  xmlType));
                   }
                   // Add this fault name and info to the map
                   faultMap.put(bindOp, faults);
  @@ -1644,6 +1651,7 @@
                   }
               } // binding operations
               BindingEntry bEntry = new BindingEntry(binding, bindingType, bindingStyle, hasLiteral, attributes, mimeTypes);
  +            bEntry.setFaults(faultMap);
               symbolTablePut(bEntry);
           }
       } // populateBindings
  
  
  
  1.3.4.2   +4 -0      xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java
  
  Index: BindingEntry.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java,v
  retrieving revision 1.3.4.1
  retrieving revision 1.3.4.2
  diff -u -r1.3.4.1 -r1.3.4.2
  --- BindingEntry.java	4 Oct 2002 23:36:33 -0000	1.3.4.1
  +++ BindingEntry.java	5 Oct 2002 05:26:07 -0000	1.3.4.2
  @@ -263,6 +263,10 @@
           return faults;
       }
   
  +    public void setFaults(HashMap faults) {
  +        this.faults = faults;
  +    }
  +
       /**
        * Contains attributes for Operations
        *  - Body type: encoded or literal
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.5   +3 -3      xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java
  
  Index: SOAPFaultDetailsBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- SOAPFaultDetailsBuilder.java	4 Oct 2002 23:36:33 -0000	1.1.2.4
  +++ SOAPFaultDetailsBuilder.java	5 Oct 2002 05:26:07 -0000	1.1.2.5
  @@ -58,8 +58,6 @@
   import org.apache.axis.MessageContext;
   import org.apache.axis.description.OperationDesc;
   import org.apache.axis.description.FaultDesc;
  -import org.apache.axis.client.Service;
  -import org.apache.axis.client.Call;
   import org.apache.axis.encoding.DeserializationContext;
   import org.apache.axis.encoding.Deserializer;
   import org.apache.axis.encoding.Callback;
  @@ -116,7 +114,9 @@
                   builder.setWaiting(true);
                   // register callback for the data, use the xmlType from fault info
                   Deserializer dser = context.getDeserializerForType(faultDesc.getXmlType());
  -                dser.registerValueTarget(new CallbackTarget(this, "faultData"));
  +                if (dser != null) {
  +                    dser.registerValueTarget(new CallbackTarget(this, "faultData"));
  +                }
                   return (SOAPHandler)dser;
               }
           }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.64.2.3  +20 -14    xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
  
  Index: ServiceDesc.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
  retrieving revision 1.64.2.2
  retrieving revision 1.64.2.3
  diff -u -r1.64.2.2 -r1.64.2.3
  --- ServiceDesc.java	4 Oct 2002 23:36:33 -0000	1.64.2.2
  +++ ServiceDesc.java	5 Oct 2002 05:26:07 -0000	1.64.2.3
  @@ -1140,21 +1140,27 @@
                   operation.addFault(fault);
                   */
   
  -                // Create a single part with the dummy name "fault"
  -                // that locates the complexType for this exception.
  -                ParameterDesc param = new ParameterDesc(
  -                     new QName("", "fault"),
  -                     ParameterDesc.IN,
  -                     tm.getTypeQName(ex));
  -                param.setJavaType(ex);
  -                ArrayList exceptionParams = new ArrayList();
  -                exceptionParams.add(param);
  +                FaultDesc fault = operation.getFaultByClass(ex);
  +                if (fault == null) {
  +                    QName xmlType = tm.getTypeQName(ex);
  +                    // Create a single part with the dummy name "fault"
  +                    // that locates the complexType for this exception.
  +                    ParameterDesc param = new ParameterDesc(
  +                         new QName("", "fault"),
  +                         ParameterDesc.IN,
  +                         xmlType);
  +                    param.setJavaType(ex);
  +                    ArrayList exceptionParams = new ArrayList();
  +                    exceptionParams.add(param);
  +                
  +                    fault = new FaultDesc();
  +                    String pkgAndClsName = ex.getName();
  +                    fault.setName(pkgAndClsName);
  +                    fault.setParameters(exceptionParams);
  +                    fault.setClassName(pkgAndClsName);
  +                    fault.setXmlType(xmlType);
  +                }
   
  -                String pkgAndClsName = ex.getName();
  -                FaultDesc fault = new FaultDesc();
  -                fault.setName(pkgAndClsName);
  -                fault.setParameters(exceptionParams);
  -                fault.setClassName(pkgAndClsName);
                   operation.addFault(fault);
               }
           }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.65.2.3  +3 -0      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java
  
  Index: JavaDeployWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java,v
  retrieving revision 1.65.2.2
  retrieving revision 1.65.2.3
  diff -u -r1.65.2.2 -r1.65.2.3
  --- JavaDeployWriter.java	4 Oct 2002 23:36:02 -0000	1.65.2.2
  +++ JavaDeployWriter.java	5 Oct 2002 05:26:08 -0000	1.65.2.3
  @@ -468,6 +468,9 @@
                       pw.print(" qname=\"" +
                                Utils.genQNameAttributeString(faultQName, "fns") + "\"");
                       pw.print(" class=\"" + className+ "\"");
  +                    pw.print(" type=\"" +
  +                             Utils.genQNameAttributeString(faultInfo.xmlType,
  +                                                           "tns") + "\"");
                       pw.println("/>");
                   }
               }
  
  
  
  1.10.4.5  +4 -1      xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java
  
  Index: JavaDefinitionWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java,v
  retrieving revision 1.10.4.4
  retrieving revision 1.10.4.5
  diff -u -r1.10.4.4 -r1.10.4.5
  --- JavaDefinitionWriter.java	4 Oct 2002 23:36:02 -0000	1.10.4.4
  +++ JavaDefinitionWriter.java	5 Oct 2002 05:26:08 -0000	1.10.4.5
  @@ -73,6 +73,7 @@
   import javax.wsdl.Binding;
   import javax.wsdl.BindingOperation;
   import javax.wsdl.extensions.soap.SOAPFault;
  +import javax.xml.namespace.QName;
   
   import org.apache.axis.wsdl.gen.Generator;
   
  @@ -166,13 +167,15 @@
        * Holder structure for fault information
        */ 
       public static class FaultInfo {
  -        public FaultInfo(Fault fault, SOAPFault soapFault) {
  +        public FaultInfo(Fault fault, SOAPFault soapFault, QName xmlType) {
               this.fault = fault;
               this.soapFault = soapFault;
  +            this.xmlType = xmlType;
           }
   
           public Fault fault;
           public SOAPFault soapFault;
  +        public QName xmlType;
       }
   
       /**