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 to...@apache.org on 2002/10/03 19:56:35 UTC

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

tomj        2002/10/03 10:56:35

  Modified:    java/src/org/apache/axis/wsdl/toJava Tag: interop4
                        JavaFaultWriter.java
  Log:
  Pass the correct literal flag to the getParamtersFromParts() function.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.3  +20 -16    xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaFaultWriter.java
  
  Index: JavaFaultWriter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaFaultWriter.java,v
  retrieving revision 1.14.2.2
  retrieving revision 1.14.2.3
  diff -u -r1.14.2.2 -r1.14.2.3
  --- JavaFaultWriter.java	3 Oct 2002 15:00:55 -0000	1.14.2.2
  +++ JavaFaultWriter.java	3 Oct 2002 17:56:35 -0000	1.14.2.3
  @@ -109,11 +109,26 @@
       protected void writeFileBody(PrintWriter pw) throws IOException {
           Vector params = new Vector();
   
  -        // XXX  Have to get use information (literal/encoded) for fault from
  -        // XXX  BindingEntry, which we don't have the QName for
  +        String faultNamespace = "";
  +        boolean literal = false;
  +        // Have to get namespace and use information (literal/encoded) 
  +        // for fault from Binding.
  +        if (bindingFault != null) {
  +            List extList = bindingFault.getExtensibilityElements();
  +            for (Iterator iterator = extList.iterator(); iterator.hasNext();) {
  +                Object o = (Object) iterator.next();
  +                if (o instanceof SOAPFault) {
  +                    SOAPFault sf = (SOAPFault) o;
  +                    faultNamespace = sf.getNamespaceURI();
  +                    if ("literal".equalsIgnoreCase(sf.getUse())) {
  +                        literal = true;
  +                    }
  +                }
  +            }
  +        }
           symbolTable.getParametersFromParts(params, 
                                   fault.getMessage().getOrderedParts(null), 
  -                                false, 
  +                                literal, 
                                   fault.getName(), 
                                   null);
   
  @@ -161,19 +176,8 @@
           // Note that bindingFault can be null if this fault is never referenced
           // in a binding (WSDL2Java --all switch).
   
  -        // We do the same thing in JavaStubWriter.java
  -        String namespace = "";
  -        if (bindingFault != null) {
  -            List extList = bindingFault.getExtensibilityElements();
  -            for (Iterator iterator = extList.iterator(); iterator.hasNext();) {
  -                Object o = (Object) iterator.next();
  -                if (o instanceof SOAPFault) {
  -                    SOAPFault sf = (SOAPFault) o;
  -                    namespace = sf.getNamespaceURI();
  -                }
  -            }
  -        }
           // method that serializes exception data (writeDetail)
  +        // NOTE: This function is also written in JavaBeanFaultWriter.java
           pw.println();
           pw.println("    /**");
           pw.println("     * Writes the exception data to the faultDetails");
  @@ -182,7 +186,7 @@
           for (int i = 0; i < params.size(); i++) {
               Parameter param = (Parameter)params.get(i);
               String variable = param.getName();
  -            QName qname = new QName(namespace, param.getQName().getLocalPart());
  +            QName qname = new QName(faultNamespace, param.getQName().getLocalPart());
               pw.println("        javax.xml.namespace.QName qname = " + Utils.getNewQName(qname) + ";");
               pw.println("        context.serialize(qname, null, " + Utils.wrapPrimitiveType(param.getType(), variable) + ");");
           }