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 2003/01/06 23:25:00 UTC

cvs commit: xml-axis/java/src/org/apache/axis/wsdl/fromJava Emitter.java Types.java

gdaniels    2003/01/06 14:25:00

  Modified:    java/src/org/apache/axis/encoding TypeMappingImpl.java
               java/src/org/apache/axis/wsdl/fromJava Emitter.java
                        Types.java
  Log:
  Message-style services (like AdminService) weren't emitting very useful
  WSDL.  Now they emit xsd:anyType elements by default.  We should add
  the ability to embed particular schema into WSDD (or import it via a URL),
  and perhaps eventually even offer the option of validating against such
  schemas.  For now this works better.
  
  Revision  Changes    Path
  1.39      +2 -4      xml-axis/java/src/org/apache/axis/encoding/TypeMappingImpl.java
  
  Index: TypeMappingImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/TypeMappingImpl.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- TypeMappingImpl.java	20 Dec 2002 17:28:21 -0000	1.38
  +++ TypeMappingImpl.java	6 Jan 2003 22:25:00 -0000	1.39
  @@ -352,8 +352,7 @@
           }
   
           if (sf == null && delegate != null) {
  -            sf = (SerializerFactory)
  -                delegate.getSerializer(javaType, xmlType);
  +            sf = delegate.getSerializer(javaType, xmlType);
           }
           return sf;
       }
  @@ -471,8 +470,7 @@
           df = (javax.xml.rpc.encoding.DeserializerFactory) pair2DF.get(pair);
   
           if (df == null && delegate != null) {
  -            df = (javax.xml.rpc.encoding.DeserializerFactory)
  -                delegate.getDeserializer(javaType, xmlType);
  +            df = delegate.getDeserializer(javaType, xmlType);
           }
           return df;
       }
  
  
  
  1.82      +23 -5     xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java
  
  Index: Emitter.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Emitter.java,v
  retrieving revision 1.81
  retrieving revision 1.82
  diff -u -r1.81 -r1.82
  --- Emitter.java	20 Dec 2002 16:51:24 -0000	1.81
  +++ Emitter.java	6 Jan 2003 22:25:00 -0000	1.82
  @@ -1088,11 +1088,29 @@
           
           msg.setQName(qName);
           msg.setUndefined(false);
  -
  -        ArrayList parameters = oper.getParameters();
  -        for(int i=0; i<parameters.size(); i++) {
  -            ParameterDesc parameter = (ParameterDesc) parameters.get(i);
  -            writePartToMessage(def, msg, true, parameter);
  +        
  +        if (oper.getStyle() == Style.MESSAGE) {
  +            // If this is a MESSAGE-style operation, just write out
  +            // <xsd:any> for now.
  +            // TODO: Support custom schema in WSDD for these operations
  +            QName qname = oper.getElementQName();
  +            Element el = types.createElementDecl(qname.getLocalPart(),
  +                                                 Object.class,
  +                                                 Constants.XSD_ANYTYPE,
  +                                                 false, false);
  +            types.writeSchemaElement(qname, el);
  +            
  +            Part part = def.createPart();
  +            part.setName("part");
  +            part.setElementName(qname);
  +            msg.addPart(part);
  +        } else {
  +            // Otherwise, write parts for the parameters.
  +            ArrayList parameters = oper.getParameters();
  +            for(int i=0; i<parameters.size(); i++) {
  +                ParameterDesc parameter = (ParameterDesc) parameters.get(i);
  +                writePartToMessage(def, msg, true, parameter);
  +            }
           }
   
           return msg;
  
  
  
  1.69      +1 -1      xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java
  
  Index: Types.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/fromJava/Types.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- Types.java	20 Dec 2002 16:51:24 -0000	1.68
  +++ Types.java	6 Jan 2003 22:25:00 -0000	1.69
  @@ -490,7 +490,7 @@
        * @param qName qname of the type
        */
       private void writeTypeNamespace(QName qName) {
  -        if (qName != null) {
  +        if (qName != null && !qName.getNamespaceURI().equals("")) {
               String pref = def.getPrefix(qName.getNamespaceURI());
               if (pref == null)
                   def.addNamespace(namespaces.getCreatePrefix(qName.getNamespaceURI()),