Re: ReST with Axis2

Jack Sprat <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <[email protected]>
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 <[email protected]>
To: "[email protected]" <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.