The ReST request looks like this:
https://www.example.com/test2/services/TestService/echo?echoRequest=ping

The response returned is blank:
<test:echoResponse xmlns:test="http://ws.example.com/test"; />

Can anyone tell me what may be wrong?  Is ReST with Axis2 and WSDL 2.0 
possible?  I am trying to justify using Axis2 here but will lose the fight if 
it will not work for ReST requests.

Please feel free to contact me off-list.

Thank you.



----- Original Message -----
From: Jack Sprat <rexclaim...@yahoo.com>
To: "axis-u...@ws.apache.org" <axis-u...@ws.apache.org>
Cc: 
Sent: Wednesday, April 24, 2013 5:11 PM
Subject: ReST with Axis2

I've been struggling with Axis2 and ReST for a few days and hope someone can 
help.

I have created a version 2.0 WSDL for a very simple service and can generate 
the code stubs using the wsdl2java command.  In the WSDL I have 2 bindings - 1 
for HTTP and 1 for SOAP.  SOAP requests work fine.  All ReST requests come back 
with a blank response.  The AxisServlet class gets the ReST request correctly 
as I see the query string captured in debug mode.  When the service class is 
called the request is blank.  I can see this while debugging.

Do I need to do anything different in my service class for ReST requests?  What 
am I missing?  Any help is GREATLY appreciated.

I've included the WSDL below.


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:description xmlns:wsdl="http://www.w3.org/ns/wsdl";
    xmlns:wsoap="http://www.w3.org/ns/wsdl/soap";
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope";
    xmlns:wsdlx="http://www.w3.org/ns/wsdl-extensions";
    xmlns:tns="http://ws.example.com/test";
    targetNamespace="http://ws.example.com/test";>

    <wsdl:documentation>Test WSDL 2.0 web service.</wsdl:documentation>

    <!-- Define all types used in SOAP request/response here. -->
    <wsdl:types>
        <xsd:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns="http://ws.example.com/test"; targetNamespace="http://ws.example.com/test";>

            <!-- General Fault -->
            <xsd:element name="generalError" type="xsd:string"/>

            <!-- Schema Validation Fault -->
            <xsd:element name="schemaError" type="xsd:string"/>

            <!-- Echo Request Type -->
            <xsd:element name="echoRequest" type="xsd:string"/>
            <!-- Echo Response Type -->
            <xsd:element name="echoResponse" type="xsd:string"/>
        </xsd:schema>
    </wsdl:types>

    <!-- Interfaces -->
    <wsdl:interface name="testInterface">
        <!-- Faults -->
        <wsdl:fault name="generalError" element="tns:generalError" />
        <wsdl:fault name="schemaError" element="tns:schemaError" />
        <!-- Echo operation -->
        <wsdl:operation name="echo" pattern="http://www.w3.org/ns/wsdl/in-out"; 
wsdlx:safe="true">
            <wsdl:input messageLabel="In" element="tns:echoRequest" />
            <wsdl:output messageLabel="Out" element="tns:echoResponse" />
        </wsdl:operation>
    </wsdl:interface>

    <!-- Concrete Bindings -->
    <wsdl:binding name="httpBinding" interface="tns:testInterface" 
type="http://www.w3.org/ns/wsdl/http";>
        <wsdl:fault ref="tns:generalError" />
        <wsdl:fault ref="tns:schemaError" />
        <wsdl:operation ref="tns:echo" />
    </wsdl:binding>
    <wsdl:binding name="soapBinding" interface="tns:testInterface" 
type="http://www.w3.org/ns/wsdl/soap"; 
wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/";>
        <wsdl:fault ref="tns:generalError" />
        <wsdl:fault ref="tns:schemaError" />
        <wsdl:operation ref="tns:echo" 
wsoap:soapAction="http://ws.example.com/test/echo"; />
    </wsdl:binding>

    <!-- Define service and endpoints -->
    <wsdl:service name="TestService" interface="tns:testInterface">
        <wsdl:documentation>Test WSDL 2.0 web service</wsdl:documentation>
        <!-- HTTP binding -->
        <wsdl:endpoint name="test2" binding="tns:httpBinding"
                  address="https://www.example.com/test2/services/TestService"/>
        <!-- SOAP binding -->
        <wsdl:endpoint name="test2" binding="tns:soapBinding"
                  address="https://www.example.com/test2/services/TestService"/>
    </wsdl:service>
</wsdl:description>


Thanks.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org
For additional commands, e-mail: java-user-h...@axis.apache.org

Reply via email to