Glen - thanks for the info and the link.  I've amended my wsdl accordingly.
It's not the source of the current problem but I'm sure it would have
tripped my up next.

Amila - thanks also to you for taking the time to run thru the code.  I
downloaded the nightly snapshot from last night, re-ran wsdl2java and I got
a slightly different error (a different undefined method).  So basically
still in the same boat.  I was previously using axi2-1.1.1 (the last
release).  I see from this list 1.2 may well be released this week to I'll
probably download that once it's available.

Below is a snip from the build.xml I'm using showing the ant task and
options.  I have to admit, most of the options are simply copied from Axis2
samples - I'm wading in here and learning as I'm going.  I'm off now to read
up on doc/lit services so I understand why I shouldn't have specified a
namespace on my <soap: tags...

  <path id="axis2.classpath">
    <fileset dir="D:/axis/axis2-1.2-SNAPSHOT/lib">
      <include name="*.jar"/>
    </fileset>
  </path>

  <target name="wsdl2java">
    <taskdef name="wsdl2Java"
      classname="org.apache.axis2.tool.ant.AntCodegenTask"
      classpathref="axis2.classpath"/>

    <echo message="wsdl.src.dir is '${wsdl.src.dir}'"/>

    <wsdl2Java
      wsdlfilename="${wsdl.src.dir}/MyService.wsdl"
      language="java"
      packageName="com.test.testws"
      databindingName="xmlbeans"
      unwrap="true"
      synconly="true"
      serverSide="true"
      serverSideInterface="true"
      generateServiceXml="true"
      targetSourceFolderLocation="src"
      targetResourcesFolderLocation="resources"
      />
  </target>
  -----Original Message-----
  From: Amila Suriarachchi [mailto:[EMAIL PROTECTED]
  Sent: 23 April 2007 06:00
  To: axis-user@ws.apache.org
  Subject: Re: Code generateion, with xmlbeans, results in missing methods.


  I generated the code with the wsdl2java with the current code base at the
1.2 branch and it seems to be ok.
  So what is the Axis2 version you use and what are the options you use?
  Can you try out with the RC2?

  Amila.


  On 4/21/07, Glen Mazza <[EMAIL PROTECTED]> wrote:
    Quite possibly unrelated to your problem, but according to Anne[1], if
    you are using document/literal, you should *not* have a namespace for
    your soap:body messages, as you have here:

    <soap:body use="literal" namespace=" http://MyService"/>

    Glen

    [1] http://marc.info/?l=axis-user&m=117394780408840&w=2

    Am Freitag, den 20.04.2007, 17:37 +0100 schrieb Tomas Kelly:
    > I'm new to Axis2 - but not to programming. Im interested in generating
    > service-from-wsdl ('contract-first').  Unfortunately, I'm new to WSDL
too.
    >
    > Using the WSDL below, when I run wsdl2java (I'm using the wsdl2java
ant
    > task, in Eclipse 3.2...) I get a 'build successful' message from Ant
but the
    > generated classes seem empty and one contains a missing method (for
example,
    > the MyServiceMessageReceiverInOut class calls a method 'xgetCourseId'
which
    > is undefined for type MyRequestDocument.MyRequest).  I can give more
details
    > if it helps.
    >
    > I'm assuming (from reading here) there's something wrong with the
WSDL...
    > if anyone could point out the error - or indeed a resource I could
reference
    > to work it out for myself that would be great.
    > Thks,
    > Tom.
    >
    >
    > <wsdl:definitions xmlns:soap=" http://schemas.xmlsoap.org/wsdl/soap/";
    >       xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/ "
    >       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
    >       xmlns:http="http://schemas.xmlsoap.org/wsdl/http/ "
    >       xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
    >       xmlns:axis2="http://MyService";
    >       xmlns:app="http://www.customer.com/app";
    >       targetNamespace="http://MyService";>
    >
    >       <wsdl:types>
    >               <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
    >                       attributeFormDefault="qualified"
    >                       elementFormDefault="qualified"
    >                       xmlns:app="http://www.customer.com/app";
    >                       targetNamespace="http://www.customer.com/app ">
    >
    >                       <!-- ELEMENTS -->
    >
    >                       <xs:simpleType name="courseCodeType">
    >                               <xs:restriction base="xs:string">
    >                                       <xs:minLength value="1" />
    >                                       <xs:maxLength value="7" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:simpleType name="courseVerType">
    >                               <xs:restriction base="xs:string">
    >                                       <xs:minLength value="1" />
    >                                       <xs:maxLength value="5" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:complexType name="courseIdType">
    >                               <xs:sequence>
    >                                       <xs:element name="courseCode"
type="app:courseCodeType" />
    >                                       <xs:element name="courseVer"
type="app:courseVerType" />
    >                               </xs:sequence>
    >                       </xs:complexType>
    >                       <xs:simpleType name="string5">
    >                               <xs:restriction base="xs:string">
    >                                       <xs:minLength value="0" />
    >                                       <xs:maxLength value="5" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:simpleType name="string5m">
    >                               <xs:restriction base="app:string5">
    >                                       <xs:minLength value="1" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:simpleType name="string100">
    >                               <xs:restriction base="xs:string">
    >                                       <xs:minLength value="0" />
    >                                       <xs:maxLength value="100" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:simpleType name="string100m">
    >                               <xs:restriction base="app:string100">
    >                                       <xs:minLength value="1" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >                       <xs:simpleType name="ynType">
    >                               <xs:restriction base="xs:token">
    >                                       <xs:pattern value="[YN]" />
    >                               </xs:restriction>
    >                       </xs:simpleType>
    >
    >                       <xs:element name="myRequest">
    >                               <xs:complexType>
    >                                       <xs:sequence>
    >                                               <xs:element
name="courseId" type="app:courseIdType" />
    >                                       </xs:sequence>
    >                               </xs:complexType>
    >                       </xs:element>
    >
    >                       <xs:element name="myResponse">
    >                               <xs:complexType>
    >                                       <xs:sequence>
    >                                               <xs:element
name="courseId" type="app:courseIdType" />
    >                                               <xs:element name="name"
type="app:string100m" />
    >                                               <xs:element
name="version" type="app:string5" />
    >                                       </xs:sequence>
    >                               </xs:complexType>
    >                       </xs:element>
    >
    >               </xs:schema>
    >       </wsdl:types>
    >
    >       <!-- MESSAGES -->
    >
    >       <wsdl:message name="myRequestMessage">
    >               <wsdl:part name="part1" element="app:myRequest" />
    >       </wsdl:message>
    >       <wsdl:message name="myResponseMessage">
    >               <wsdl:part name="part1" element="app:myResponse" />
    >       </wsdl:message>
    >
    >       <!-- Port type (operations) -->
    >
    >       <wsdl:portType name="MyServicePort">
    >               <wsdl:operation name="myOp">
    >                       <wsdl:input message="axis2:myRequestMessage" />
    >                       <wsdl:output message="axis2:myResponseMessage"
/>
    >               </wsdl:operation>
    >       </wsdl:portType>
    >
    >       <!-- BINDING (bind operations) -->
    >
    >       <wsdl:binding name="myServiceSOAP11Binding"
    >               type="axis2:MyServicePort">
    >               <soap:binding
transport="http://schemas.xmlsoap.org/soap/http";
    >                       style="document" />
    >               <wsdl:operation name="myOp">
    >                       <soap:operation soapAction="urn:myOp"
style="document" />
    >                       <wsdl:input>
    >                               <soap:body use="literal"
    >                                       namespace="http://MyService"; />
    >                       </wsdl:input>
    >                       <wsdl:output>
    >                               <soap:body use="literal"
    >                                       namespace="http://MyService"; />
    >                       </wsdl:output>
    >               </wsdl:operation>
    >       </wsdl:binding>
    >
    >       <wsdl:binding name="myServiceSOAP12Binding"
    >               type="axis2:MyServicePort">
    >               <wsdl:operation name="myOp">
    >                       <soap12:operation soapAction="urn:myOp"
    >                               style="document" />
    >                       <wsdl:input>
    >                               <soap12:body use="literal"
    >                                       namespace="http://MyService " />
    >                       </wsdl:input>
    >                       <wsdl:output>
    >                               <soap12:body use="literal"
    >                                       namespace=" http://MyService"; />
    >                       </wsdl:output>
    >               </wsdl:operation>
    >       </wsdl:binding>
    >
    >       <!-- SERVICE -->
    >
    >       <wsdl:service name="myService">
    >               <wsdl:port name="myServiceSOAP11port"
    >                       binding="axis2:myServiceSOAP11Binding">
    >                       <soap:address
    >
location="http://pc0001/axis2-1.1.1/services/myService"; />
    >               </wsdl:port>
    >               <wsdl:port name="myServiceSOAP12port"
    >                       binding="axis2:myServiceSOAP12Binding">
    >                       <soap12:address
    >                               location="
http://pc0001/axis2-1.1.1/services/myService"; />
    >               </wsdl:port>
    >       </wsdl:service>
    >
    > </wsdl:definitions>
    >
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: [EMAIL PROTECTED]
    > For additional commands, e-mail: [EMAIL PROTECTED]
    >


    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [EMAIL PROTECTED]
    For additional commands, e-mail: [EMAIL PROTECTED]





  --
  Amila Suriarachchi,
  WSO2 Inc.

Reply via email to