Thanks.

Unfortunatelly :(  I tried types insted of elements and the same thing happened. The same
duplicate methods are also for the sample that you corrected.

Below is the generated file from the corrected file:
--
    package test1.databinding;

    /**
     *  Auto generated supporter class for XML beans by the Axis code generator
     */

    public class DrugiServisPortTypemetoda4DatabindingSupporter {
            
          public  static org.apache.axis2.om.OMElement  toOM(org.apache.axis2.om.OMElement param){
            org.apache.axis2.om.impl.llom.builder.StAXOMBuilder builder = new org.apache.axis2.om.impl.llom.builder.StAXOMBuilder
            (org.apache.axis2.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.clientapi.StreamWrapper(param.newXMLStreamReader())) ;
            org.apache.axis2.om.OMElement documentElement = builder.getDocumentElement();
            //Building the element is needed to avoid certain stream errors!
            documentElement.build();
            return documentElement;
          }
      
          public  static org.apache.axis2.om.OMElement  toOM(org.apache.axis2.om.OMElement param){
            org.apache.axis2.om.impl.llom.builder.StAXOMBuilder builder = new org.apache.axis2.om.impl.llom.builder.StAXOMBuilder
            (org.apache.axis2.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.clientapi.StreamWrapper(param.newXMLStreamReader())) ;
            org.apache.axis2.om.OMElement documentElement = builder.getDocumentElement();
            //Building the element is needed to avoid certain stream errors!
            documentElement.build();
            return documentElement;
          }
      

          public static org.apache.xmlbeans.XmlObject fromOM(org.apache.axis2.om.OMElement param,
               java.lang.Class type){
                try{
                   
                    if (org.apache.axis2.om.OMElement.class.equals(type)){
                        return org.apache.axis2.om.OMElement.Factory.parse(param.getXMLStreamReader()) ;
                    }
                    
                    if (org.apache.axis2.om.OMElement.class.equals(type)){
                        return org.apache.axis2.om.OMElement.Factory.parse(param.getXMLStreamReader()) ;
                    }
                    
                 }catch(java.lang.Exception e){
                    throw new RuntimeException("Data binding error",e);
                }
             return null;
          }

        //Generates an empty object for testing
        // Caution - need some manual editing to work properly
         public static org.apache.xmlbeans.XmlObject getTestObject(java.lang.Class type){
                try{
                  
                    if (org.apache.axis2.om.OMElement.class.equals(type)){
                        org.apache.axis2.om.OMElement emptyObject= org.apache.axis2.om.OMElement.Factory.newInstance();
                        ////////////////////////////////////////////////
                        // TODO
                        // Fill in the empty object with necessaey values. Empty XMLBeans objects do not generate proper events
                        ////////////////////////////////////////////////
                        return emptyObject;
                    }
                    
                    if (org.apache.axis2.om.OMElement.class.equals(type)){
                        org.apache.axis2.om.OMElement emptyObject= org.apache.axis2.om.OMElement.Factory.newInstance();
                        ////////////////////////////////////////////////
                        // TODO
                        // Fill in the empty object with necessaey values. Empty XMLBeans objects do not generate proper events
                        ////////////////////////////////////////////////
                        return emptyObject;
                    }
                    
                 }catch(java.lang.Exception e){
                   throw new RuntimeException("Test object creation failure",e);
                }
             return null;
          }
     }
--

As you can see there are:
1) two methods toOM,
2) duplicated if structures in try-catch inside method fromOM
3) duplicated if structures in try-catch inside method getTestObject

I have generated Java files from WSDL with

makeWSDL2Java -uri DrugiServis.wsdl -ss -sd -o src -p test1

makeWSDL2Java is a bat file that calls

java -cp %AXIS2_CLASSPATH% org.apache.axis2.wsdl.WSDL2Java %1 %2 %3 %4 %5 %6 %7 %8 %9

similar as in bat file in bin directory

Since nobody else is reporting about duplicated methods, I guess it must be me doing something wrong.

Regards, Branko


Anne Thomas Manes wrote:
Your WSDL has some errors in it. When using RPC style, your message
parts must reference types rather than elements. Also Axis doesn't
support mixed styles, so you have to use either document or RPC.

Here's an updated WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="DrugiServis"
 targetNamespace="XYZ"
 xmlns="http://schemas.xmlsoap.org/wsdl/"
 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:tns="XYZ"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <types>
 </types>

 <message name="metoda4">
   <part type="xsd:string" name="aVal"/>
 </message>
 <message name="metoda4Response">
   <part type="xsd:string" name="result"/>
 </message>
 <message name="metoda3"/>
 <message name="metoda3Response"/>

 <portType name="DrugiServisPortType">
   <operation name="metoda4">
     <input message="tns:metoda4" name="metoda4"/>
     <output message="tns:metoda4Response" name="metoda4Response"/>
   </operation>
   <operation name="metoda3">
     <input message="tns:metoda3" name="metoda3"/>
     <output message="tns:metoda3Response" name="metoda3Response"/>
   </operation>
 </portType>

 <binding name="DrugiServisPortBinding"
   type="tns:DrugiServisPortType">
   <soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
   <operation name="metoda4">
     <soap:operation soapAction="metoda4" style="rpc"/>
     <input name="metoda4">
       <soap:body namespace="XYZ" use="literal"/>
     </input>
     <output name="metoda4Response">
       <soap:body namespace="XYZ" use="literal"/>
     </output>
   </operation>
   <operation name="metoda3">
     <soap:operation soapAction="metoda3" style="rpc"/>
     <input name="metoda3">
       <soap:body namespace="XYZ" use="literal"/>
     </input>
     <output name="metoda3Response">
       <soap:body namespace="XYZ" use="literal"/>
     </output>
   </operation>
 </binding>

 <service name="DrugiServis">
   <port binding="tns:DrugiServisPortBinding" name="DrugiServisPort">
     <soap:address
location="http://localhost/axis2/services/DrugiServis.wsdl"/>
   </port>
 </service>

</definitions>


On 8/17/05, Branko Kaucic <[EMAIL PROTECTED]> wrote:
  
Hi all!

I am completely new to Axis, but... I tried to follow the user guide and to
generate Java files from sample WSDL file Axis2SampleDocLit.wsdl, but
I got duplicate methods in DataBindingSupporter classes.
Also, when I tried my sample (WSDL is attached below) without using any
user defined data types, I got the same problem. What am I doing wrong?

Also (I opened the project in Eclipse) I got some other problems in the
same DrugiServisPortTypemetoda4DatabindingSupporter.

Please, could someone help.

Thanks in advance,
B

--
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="DrugiServis"
 targetNamespace="XYZ"
 xmlns="http://schemas.xmlsoap.org/wsdl/"
 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:tns="XYZ"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <types>
 </types>

 <message name="metoda4">
   <part element="xsd:string" name="aVal"/>
 </message>
 <message name="metoda4Response">
   <part element="xsd:string" name="result"/>
 </message>
 <message name="metoda3"/>
 <message name="metoda3Response"/>

 <portType name="DrugiServisPortType">
   <operation name="metoda4">
     <input message="tns:metoda4" name="metoda4"/>
     <output message="tns:metoda4Response" name="metoda4Response"/>
   </operation>
   <operation name="metoda3">
     <input message="tns:metoda3" name="metoda3"/>
     <output message="tns:metoda3Response" name="metoda3Response"/>
   </operation>
 </portType>

 <binding name="DrugiServisPortBinding"
   type="tns:DrugiServisPortType">
   <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
   <operation name="metoda4">
     <soap:operation soapAction="metoda4" style="rpc"/>
     <input name="metoda4">
       <soap:body namespace="XYZ" use="literal"/>
     </input>
     <output name="metoda4Response">
       <soap:body namespace="XYZ" use="literal"/>
     </output>
   </operation>
   <operation name="metoda3">
     <soap:operation soapAction="metoda3" style="rpc"/>
     <input name="metoda3">
       <soap:body namespace="XYZ" use="literal"/>
     </input>
     <output name="metoda3Response">
       <soap:body namespace="XYZ" use="literal"/>
     </output>
   </operation>
 </binding>

 <service name="DrugiServis">
   <port binding="tns:DrugiServisPortBinding" name="DrugiServisPort">
     <soap:address
location="http://localhost/axis2/services/DrugiServis.wsdl"/>
   </port>
 </service>

</definitions>
--

    

  

Reply via email to