Hi Keith,

I forgot specify the argument (-wv) on wsdl2java.  My mistake. :-)
I can see that eclipse gives another validation, than the one from Rational
Application Developer 7. Maybe it just doesn't support WSDL 2.0
validation....
But anyway, wsdl2java generates skeleton code without errors now.

But I get another  error during startup of Axis2 now.
org.apache.axis2.deployment.repository.util.ArchiveReader - Trouble
processing wsdl file :Illegal character in opaque part at index 2:
.....\webapps\WeatherService\WEB-INF\services\weather\META-INF

Should I try the nightly build instead? Right now I'm using Axis2 1.2.

Regards
Multi-Support A/S

Torben Riis
--------------------------------------------------------------------
Phone +45 96 600 600, Fax +45 96 600 601
E-mail: [EMAIL PROTECTED]
http://www.multi-support.com


                                                                           
             "keith chapman"                                               
             <[EMAIL PROTECTED]                                             
             ail.com>                                                   To 
                                       [email protected]             
             11-07-2007 11:08                                           cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Axis2: RESTful implementation   
             [EMAIL PROTECTED]         with Axis2                          
                  he.org                                                   
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Which version of Axis2 are you using?

I would recoment 1.2 or even a nightly or the 1.3 RC

Thanks,
Keith.

On 7/11/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

      Hi Keith,

      I have some problems generating stub/skeletons for your wsdl.

      My IDE gives the following validation error for WeatherHTTPBinding.

            WSDL: Missing port type for binding {
      http://example.axis2.apache.org}
      WeatherHTTPBinding

      What does I miss?

      Regards
      Multi-Support A/S

      Torben Riis
      --------------------------------------------------------------------
      Phone +45 96 600 600, Fax +45 96 600 601
      E-mail: [EMAIL PROTECTED]
      http://www.multi-support.com



                   "keith chapman"
                   < [EMAIL PROTECTED]
                   ail.com>
      To
                                             [email protected]
                   11-07-2007 09:27
      cc


      Subject
                   Please respond to         Re: Axis2: RESTful
      implementation
                   [EMAIL PROTECTED]         with Axis2
                        he.org









      here is a sample Weather.wsdl2. Please let me know if you need any
      clarifications.

      <description xmlns="http://www.w3.org/ns/wsdl";
                   targetNamespace=" http://example.axis2.apache.org "
                   xmlns:tns="http://example.axis2.apache.org";
                   xmlns:wsoap=" http://www.w3.org/ns/wsdl/soap "
                   xmlns:whttp="http://www.w3.org/ns/wsdl/http";
                   xmlns:xsd1=" http://example.axis2.apache.org/xsd "
                   xmlns:xs="http://www.w3.org/2001/XMLSchema";>

          <documentation>
              Just a sample service to explain WSDL 2.0 semantics
          </documentation>

          <types>
              <xs:schema elementFormDefault="qualified"
                         targetNamespace="
      http://example.axis2.apache.org/xsd "
                         xmlns:xs="http://www.w3.org/2001/XMLSchema";
                         xmlns:xsd1=" http://example.axis2.apache.org/xsd
      ">

                  <xs:element name="weather"
      type="xsd1:weatherStructType"/>
                  <xs:complexType name="weatherStructType">
                      <xs:sequence>
                          <xs:element name="temparature" type="xs:int"/>
                          <xs:element name="sky" type="xs:string"/>
                      </xs:sequence>
                  </xs:complexType>

                  <xs:element name="location"
      type="xsd1:locationStructType"/>
                  <xs:complexType name="locationStructType">
                      <xs:sequence>
                          <xs:element name="country" type="xs:string"/>
                          <xs:element name="city" type="xs:string"/>
                      </xs:sequence>
                  </xs:complexType>

                  <xs:element name="response" type="xs:string"/>

                  <xs:element name="weatherFault"
      type="xsd1:weatherFaultStructType"/>
                  <xs:complexType name="weatherFaultStructType">
                      <xs:sequence>
                          <xs:element name="Fault" type="xs:string"/>
                          <xs:element name="country" type="xs:string"/>
                          <xs:element name="city" type="xs:string"/>
                      </xs:sequence>
                  </xs:complexType>

                  <xs:element name="weatherDetails"
      type="xsd1:weatherDetailsStructType"/>
                  <xs:complexType name="weatherDetailsStructType">
                      <xs:sequence>
                          <xs:element name="weather"
      type="xsd1:weatherStructType"/>
                          <xs:element name="location"
      type="xsd1:locationStructType"/>
                      </xs:sequence>
                  </xs:complexType>
              </xs:schema>
          </types>

          <interface name="Weather">
              <documentation>
                  This is where the abstract descriptions of the operations
      are
      given. Note that WSDL 2.0
                  has the concept of reusing faults, hence they are
      described at
      the interface level.
              </documentation>
              <fault name="weatherFault"
      element="xsd1:weatherFault"></fault>

              <operation name="getWeather" pattern="
      http://www.w3.org/ns/wsdl/in-out";>
                  <input element="xsd1:location"/>
                  <output element="xsd1:weather"/>
                  <outfault ref="tns:weatherFault"/>
              </operation>

              <operation name="setWeather" pattern="
      http://www.w3.org/ns/wsdl/in-out";>
                  <input element="xsd1:weatherDetails"/>
                  <output element="xsd1:response"/>
                  <outfault ref="tns:weatherFault"/>
              </operation>

          </interface>

          <binding name="WeatherHTTPBinding" interface="tns:Weather"
                   type="http://www.w3.org/ns/wsdl/http";>
              <documentation>
                  This binding binds the weather interface to RESTish style
      invocations.
                  NOTE : The URL for the operation is constracted by
      resolving
      the httplocation against
                  the base uri.
                  e.g. If the country was srilanka and the city was colombo
      then
      the URL will be

      
http://example.org/WeatherService/WeatherServiceSOAPEndpoint/Weather/srilanka/colombo


              </documentation>
              <fault ref="tns:weatherFault" whttp:code="402"/>
              <operation ref="tns:getWeather" whttp:method="GET"

      whttp:location="WeatherServiceHTTPEndpoint/Weather/{country}/{city}"/>

              <operation ref="tns:setWeather" whttp:method="PUT"

      whttp:location="WeatherServiceHTTPEndpoint/Update/{country}/{city}"/>
              <!--Ideally this should be as follows. Will fux it in the
      trunk-->
              <!--<operation ref="tns:setWeather" whttp:method="POST"
      whttp:location="WeatherServiceHTTPEndpoint/Weather/{country}/{city}"/>-->

          </binding>

          <service name="WeatherService" interface="tns:Weather">
              <endpoint name="WeatherServiceHTTPEndpoint"
      binding="tns:WeatherHTTPBinding"
                        address="
      http://example.org/WeatherService/WeatherServiceHTTPEndpoint/ "/>
          </service>

      </description>

      Thanks,
      Keith.

      On 7/11/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

            Hi Keith,

            An example would be very nice. ;-)
            An example where you format the URL in a RESTish style would be

            perfect.
            Maybe with both GET & POST if it isn't too much trouble.

            Thanks a lot.

            Regards
            Multi-Support A/S

            Torben Riis

      --------------------------------------------------------------------
            Phone +45 96 600 600, Fax +45 96 600 601
            E-mail: [EMAIL PROTECTED]
            http://www.multi-support.com



                         "keith chapman"
                         <[EMAIL PROTECTED]
                         ail.com >
            To
                                                   [email protected]
                         11-07-2007 07:40
            cc


            Subject
                         Please respond to         Re: Axis2: RESTful
            implementation
                         [EMAIL PROTECTED]          with Axis2
                              he.org









            The WSDL 2.0 primer  is a good starting place. It takes you
      through
            the
            concepts of WSDL 2.0 very nicely (without making things too
      complex).
            WSDL
            2.0 is a whole lot clean and easy to understand. If you like I
      can
            write a
            sample WSDL 2.0 doc for you if you have an example in mind :).

            And yes you can use the http methods GET, POST, PUT & DELETE in
      the
            same
            service. Its just that you cant use them on the same operation.

            Thanks,
            Keith.

            On 7/11/07, [EMAIL PROTECTED] < [EMAIL PROTECTED]>
      wrote:

                  Hi Keith,

                  Thank you for answering.

                  When I earlier talked about using the http methods GET,
      POST,
            PUT &
                  DELETE,
                  I actually meant using them in the same service.

                  WSDL 2.0 really sounds interesting.

                  I have a little knowledge about WSDL 1.1/1.2, because I'm
            studying
                  for the
                  SCDJWS exam, but I doesn't know anything about WSDL 2.0.
                  I guess a lot has changed since it is possible to
      describe how
            the
                  URL
                  should be formatted and whether  to use http methods GET,
      POST,
            PUT
                  or
                  DELETE.

                  Do you have or know a place where I can find simple
      example
            WSDL
                  describing
                  such a service?
                  Or would it be best just start reading WSDL 2.0
      HTTPBinding.


                  Regards
                  Multi-Support A/S

                  Torben Riis


      --------------------------------------------------------------------
                  Phone +45 96 600 600, Fax +45 96 600 601
                  E-mail: [EMAIL PROTECTED]
                  http://www.multi-support.com



                               "keith chapman"
                               < [EMAIL PROTECTED]
                               ail.com>
                  To

      [email protected]
                               11-07-2007 06:45
                  cc


                  Subject
                               Please respond to         Re: Axis2: RESTful
                  implementation
                               [EMAIL PROTECTED]          with Axis2
                                    he.org









                  See comments inline.

                  On 7/10/07, [EMAIL PROTECTED] <
      [EMAIL PROTECTED] >
            wrote:

                        Hi,

                        I have some questions regarding implementing a
      RESTfull
                  service.
                        After
                        reading a lot of previous RESTish threads I got
      quite
            confused.
                        So I hope someone can help me straightened it out.

                        If I want to create a RESTful service with Axis2
      would it
            then
                        require that
                        the service is implemented as RPC, or can other
      message
                  receivers be
                        used?


                        Is it possible to create a RESTful service with
      Axis2
            that can
                  be
                        reached
                        in the following way:
                        http://www.boeing.com/rest/aircraft/747
                        instead of



      http://www.boeing.com/rest/MyAircraftServices/getAircraft?model=747

                  Yes this can be done. REST support in Axis2 was achieved
      via
            the
                  WSDL 2.0
                  HTTPBinding (If you are not familiar with WSDL this might
      sound
            a bit
                  strange). The kind of question you asked can easily be
      done by
                  deploying
                  your service via a WSDL 2.0 description. Please have a
      look at
            the
                  primer
                  it has some easy to understand examples.

                        First i actually thought that a RESTful service
      should
                  implement some
                        sort
                        of interface with methods corresponding to GET,
      POST, PUT
            &
                  DELETE.
                        But I read in some of the other threads that a
      RESTful
            service
                  should
                        only
                        have one method. Isn't that a problem if you try to

            accomplice
                  the
                        syntax
                        that the following articles describes.

                  Yes you can use all 4 HTTP methods described above,
      depending
            on your
                  requirement. Its all about using the appropriate method
      (Not
            that you
                  must
                  use just one method)




      http://www.innoq.com/blog/st/2006/06/30/rest_vs_soap_oh_no_not_again.html




                         http://www.xfront.com/REST-Web-Services.html

                        Where the same url has different functionality
      depending
            on how
                  it is

                        called (GET, POST).
                        GET   /order/{id} Get order details
                        POST  /order/{id} Add item

                  the current version of Axis2 does not support this (But
      it can
            be
                  included,
                  I will file a JIRA on this and try to get it into the 1.3
            release.)

                  Please let us know if you need more help (Can even assist
      you
            in
                  writing
                  down the WSDL 2.0 description)

                  Thanks,
                  Keith.

                        Regards
                        Multi-Support A/S

                        Torben Riis



      --------------------------------------------------------------------
                        Phone +45 96 600 600, Fax +45 96 600 601
                        E-mail: [EMAIL PROTECTED]
                        http://www.multi-support.com





      ---------------------------------------------------------------------


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




                  --
                  Keith Chapman
                  WSO2 Inc.
                  Oxygen for Web Services Developers.
                  http://wso2.org/




      ---------------------------------------------------------------------


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




            --
            Keith Chapman
            WSO2 Inc.
            Oxygen for Web Services Developers.
             http://wso2.org/



      ---------------------------------------------------------------------

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




      --
      Keith Chapman
      WSO2 Inc.
      Oxygen for Web Services Developers.
      http://wso2.org/


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




--
Keith Chapman
WSO2 Inc.
Oxygen for Web Services Developers.
http://wso2.org/


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

Reply via email to