The WSDL's not valid. When using document style, your message parts
must reference elements, not types. Make these changes and try again:

        <types>
               <xs:schema
targetNamespace="http://www.someco.com/eap/transactions";>
                      <!-- define input element -->
                      <xs:element name="Login" type="tr:LoginRequest"/>
                       <xs:complexType name="LoginRequest">
                               <xs:attribute name="username"
                                    type="xs:string" use="required"/>
                               <xs:attribute name="password"
                                    type="xs:string" use="required"/>
                       </xs:complexType>
                       <!-- define output element -->
                       <xs:element name=LoginResponse type="tr:LoginResponse"/>
                       <xs:complexType name="LoginResponse">
                               <xs:attribute name="sessionId"
                                   type="xs:string" use="required"/>
                       </xs:complexType>
               </xs:schema>
       </types>
       <message name="LoginRequest">
               <!-- change "type" to "element" -->
               <part name="parameter" element="tr:Login"/>
       </message>
       <message name="LoginResponse">
               <!-- change "type" to "element" -->
               <part name="parameter" element="tr:LoginResponse"/>
       </message>

Anne

On 7/21/05, Aaron Siri <[EMAIL PROTECTED]> wrote:
> Using axis2 0.9's WSDL2Java tool on my .wsdl file produced a
> DatabindingSupporter.java class with a bunch of duplicate methods (example,
> two toOM methods) and calls and thus won't compile.  Any idea on what I'm
> doing wrong?
> 
> My .wsdl file is produced below followed by the generated .java file created:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/";
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
> xmlns:tr="http://www.someco.com/eap/transactions";
> xmlns:trxsd="http://www.someco.com/eap/transactions.xsd";
> targetNamespace="http://www.someco.com/eap/transactions";>
>         <types>
>                 <xs:schema
> targetNamespace="http://www.someco.com/eap/transactions";>
>                         <xs:complexType name="LoginRequest">
>                                 <xs:attribute name="username"
> type="xs:string" use="required"/>
>                                 <xs:attribute name="password"
> type="xs:string" use="required"/>
>                         </xs:complexType>
>                         <xs:complexType name="LoginResponse">
>                                 <xs:attribute name="sessionId"
> type="xs:string" use="required"/>
>                         </xs:complexType>
>                 </xs:schema>
>         </types>
>         <message name="LoginRequest">
>                 <part name="parameter" type="tr:LoginRequest"/>
>         </message>
>         <message name="LoginResponse">
>                 <part name="parameter" type="tr:LoginResponse"/>
>         </message>
>         <portType name="EAPTransaction">
>                 <operation name="Login">
>                         <input name="LoginRequest"
> message="tr:LoginRequest"/>
>                         <output name="LoginResponse"
> message="tr:LoginResponse"/>
>                 </operation>
>         </portType>
>         <binding name="TransactionBinding" type="tr:EAPTransaction">
>                 <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>                 <operation name="Login">
>                         <soap:operation soapAction="urn:#Login"/>
>                         <input>
>                                 <soap:body use="literal"/>
>                         </input>
>                         <output>
>                                 <soap:body use="literal"/>
>                         </output>
>                 </operation>
>         </binding>
>         <service name="EAPTransactions">
>                 <port name="Transaction" binding="tr:TransactionBinding">
>                         <soap:address location="No Target Adress"/>
>                 </port>
>         </service>
> </definitions>
> 
> 
> 
> 
> Generated code:
> 
> 
>     package com.efi.eap.server.transactions.databinding;
> 
>     /**
>      *  Auto generated supporter class for XML beans by the Axis code
> generator
>      */
> 
>     public class LoginDatabindingSupporter {
> 
> 
>           public  static org.apache.axis2.om.OMElement
> toOM(org.apache.axis2.om.OMElement param){
>                     org.apache.axis2.om.impl.llom.builder.StAXOMBuilder
> builder =
> org.apache.axis2.om.impl.llom.factory.OMXMLBuilderFactory.createStAXOMBuilder
>             (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 =
> org.apache.axis2.om.impl.llom.factory.OMXMLBuilderFactory.createStAXOMBuilder
>             (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;
>           }
>      }
> 
> 
> 
>

Reply via email to