New to Axis2. Using the POJO guide for exposing service found in link:

http://ws.apache.org/axis2/1_5/pojoguide.html

I can see the wsdl in the browser, but cannot see the service. The service
apparaently was not found.  Any suggestion will be appreciated.

Following are the steps that I have taken.

Axis2Weather (it is web project containing WebContent)
|
----src
|      |
|       ----sample.pojo.data
|      |                           |
|      |                            ----Weather.java
|      |
|       ----sample.pojo.service
|                                      |
|                                       ----WeatherService.java
|
----WebContent
     |
      ----WEB-INF
                |
                |
                 ----lib (has all jars from Axis2, version 1.5)
                | 
                 ----services
                |             |
                |              ----WeatherService
                |                                       |
                |                                        ----META-INF
                |                                                         |
                |                                                         
----services.xml
                |
                 ----web.xml
///////////////////////////
services.xml:

<service name="WeatherService" scope="application">
    <description>
        Weather POJO Service
    </description>
    <messageReceivers>
        <messageReceiver 
            mep="http://www.w3.org/2004/08/wsdl/in-only";
    class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
        <messageReceiver
            mep="http://www.w3.org/2004/08/wsdl/in-out";
    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <parameter name="ServiceClass">
        sample.pojo.service.WeatherService
    </parameter>
</service>

////////////////////
web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
        <display-name>
        Axis2Weather</display-name>
        
        <servlet>
                <display-name>Apache-Axis Servlet</display-name>
                <servlet-name>AxisServlet</servlet-name>
                
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet>
                <display-name>
                Axis Admin Servlet</display-name>
                <servlet-name>AdminServlet</servlet-name>
                <servlet-class>
                org.apache.axis.transport.http.AdminServlet</servlet-class>
                <load-on-startup>100</load-on-startup>
        </servlet>
        
        <servlet-mapping>
                <servlet-name>AxisServlet</servlet-name>
                <url-pattern>/servlet/AxisServlet</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>AxisServlet</servlet-name>
                <url-pattern>*.jws</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>AxisServlet</servlet-name>
                <url-pattern>/services/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
                <servlet-name>AdminServlet</servlet-name>
                <url-pattern>/servlet/AdminServlet</url-pattern>
        </servlet-mapping>
</web-app>

//////////////

package sample.pojo.data;

public class Weather {
        float temperature;
    String forecast;
    boolean rain;
    float howMuchRain;
    
    public void setTemperature(float temp){
        temperature = temp;
    }

    public float getTemperature(){
        return temperature;
    }
    
    public void setForecast(String fore){
        forecast = fore;
    }

    public String getForecast(){
        return forecast;
    }
    
    public void setRain(boolean r){
        rain = r;
    }

    public boolean getRain(){
        return rain;
    }
    
    public void setHowMuchRain(float howMuch){
        howMuchRain = howMuch;
    }

    public float getHowMuchRain(){
        return howMuchRain;
    }
}

//////////////

package sample.pojo.service;

import sample.pojo.data.Weather;

public class WeatherService{

         Weather weather;
            
            public void setWeather(Weather weather){
                this.weather = weather;
            }

            public Weather getWeather(){
                return this.weather;
            }
}

/////////////////

The context root of the application is: Axis2Weather

Axis2Weather successfully gets deployed in the application server (WebSphere
in this case) as an EAR file and the Axis2Weather application successfully
gets started in the application server. 

But when I enter the URL: http://localhost:9081/Axis2Weather/services , I
get error as:

org.apache.axis2.AxisFault: The service cannot be found for the endpoint
reference (EPR) /Axis2Weather/services/ at
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
at org.apache.axis2.engine.Phase.invoke(Phase.java:334) at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251) at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160) at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
at
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
at
org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:838)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1101)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:569)
at 


When I enter URL: http://localhost:9081/Axis2Weather/services/WeatherService
, I get error as:

AxisEngine    E org.apache.axis2.engine.AxisEngine receive The endpoint
reference (EPR) for the Operation not found is
/Axis2Weather/services/WeatherService and the WSA Action = null
                                 org.apache.axis2.AxisFault: The endpoint
reference (EPR) for the Operation not found is
/Axis2Weather/services/WeatherService and the WSA Action = null
        at
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:89)

But when I enter URL:
http://localhost:9081/Axis2Weather/services/WeatherService?wsdl , I get wsdl
shown as:

<?xml version="1.0" encoding="UTF-8" ?> 
 <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:ax21="http://net.java/xsd";
xmlns:ax24="http://xsd.data.pojo.sample/xsd";
xmlns:ax23="http://service.pojo.sample/xsd";
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
xmlns:ns="http://service.pojo.sample";
xmlns:ns1="http://org.apache.axis2/xsd";
targetNamespace="http://service.pojo.sample";>
  <wsdl:documentation>WeatherService</wsdl:documentation> 
 <wsdl:types>
 <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://xsd.data.pojo.sample/xsd";>
 <xs:complexType name="Weather">
 <xs:sequence>
  <xs:element minOccurs="0" name="temperature" nillable="true"
type="xs:float" /> 
  <xs:element minOccurs="0" name="rain" nillable="true" type="xs:boolean" /> 
  <xs:element minOccurs="0" name="forecast" nillable="true" type="xs:string"
/> 
  <xs:element minOccurs="0" name="howMuchRain" nillable="true"
type="xs:float" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
 <xs:schema xmlns:ax22="http://net.java/xsd";
xmlns:ax26="http://service.pojo.sample/xsd"; attributeFormDefault="qualified"
elementFormDefault="qualified" targetNamespace="http://service.pojo.sample";>
  <xs:import namespace="http://net.java/xsd"; /> 
  <xs:import namespace="http://service.pojo.sample/xsd"; /> 
 <xs:element name="getWeatherServiceHttpSoap12EndpointAddressResponse">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"
/> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:complexType name="Exception">
 <xs:sequence>
  <xs:element minOccurs="0" name="Exception" nillable="true"
type="xs:anyType" /> 
  </xs:sequence>
  </xs:complexType>
 <xs:element name="ServiceException">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="ServiceException" nillable="true"
type="xs:anyType" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:element name="getWeatherServiceHttpSoap12Endpoint">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="args0" nillable="true" type="ax21:URL" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:element name="getWeatherServiceHttpSoap12EndpointResponse">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="return" nillable="true"
type="ax26:WeatherServicePortType" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:element name="getWeatherServiceHttpSoap11EndpointAddressResponse">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"
/> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:element name="getWeatherServiceHttpSoap11Endpoint">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="args0" nillable="true" type="ax21:URL" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
 <xs:element name="getWeatherServiceHttpSoap11EndpointResponse">
 <xs:complexType>
 <xs:sequence>
  <xs:element minOccurs="0" name="return" nillable="true"
type="ax26:WeatherServicePortType" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>
 <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://net.java/xsd";>
 <xs:complexType name="URL">
 <xs:sequence>
  <xs:element minOccurs="0" name="userInfo" nillable="true" type="xs:string"
/> 
  <xs:element minOccurs="0" name="path" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" name="defaultPort" type="xs:int" /> 
  <xs:element minOccurs="0" name="query" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" name="file" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" name="host" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" name="protocol" nillable="true" type="xs:string"
/> 
  <xs:element minOccurs="0" name="authority" nillable="true"
type="xs:string" /> 
  <xs:element minOccurs="0" name="ref" nillable="true" type="xs:string" /> 
  <xs:element minOccurs="0" name="port" type="xs:int" /> 
  <xs:element minOccurs="0" name="content" nillable="true" type="xs:anyType"
/> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
 <xs:schema xmlns:ax25="http://xsd.data.pojo.sample/xsd";
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://service.pojo.sample/xsd";>
  <xs:import namespace="http://xsd.data.pojo.sample/xsd"; /> 
 <xs:complexType name="WeatherServicePortType">
 <xs:sequence>
  <xs:element minOccurs="0" name="weather" nillable="true"
type="ax25:Weather" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </wsdl:types>
 <wsdl:message name="getWeatherServiceHttpSoap11EndpointRequest">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap11Endpoint" /> 
  </wsdl:message>
 <wsdl:message name="getWeatherServiceHttpSoap11EndpointResponse">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap11EndpointResponse" /> 
  </wsdl:message>
 <wsdl:message name="ServiceException">
  <wsdl:part name="parameters" element="ns:ServiceException" /> 
  </wsdl:message>
  <wsdl:message name="getWeatherServiceHttpSoap11EndpointAddressRequest" /> 
 <wsdl:message name="getWeatherServiceHttpSoap11EndpointAddressResponse">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap11EndpointAddressResponse" /> 
  </wsdl:message>
 <wsdl:message name="getWeatherServiceHttpSoap12EndpointRequest">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap12Endpoint" /> 
  </wsdl:message>
 <wsdl:message name="getWeatherServiceHttpSoap12EndpointResponse">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap12EndpointResponse" /> 
  </wsdl:message>
  <wsdl:message name="getWeatherServiceHttpSoap12EndpointAddressRequest" /> 
 <wsdl:message name="getWeatherServiceHttpSoap12EndpointAddressResponse">
  <wsdl:part name="parameters"
element="ns:getWeatherServiceHttpSoap12EndpointAddressResponse" /> 
  </wsdl:message>
 <wsdl:portType name="WeatherServicePortType">
 <wsdl:operation name="getWeatherServiceHttpSoap11Endpoint">
  <wsdl:input message="ns:getWeatherServiceHttpSoap11EndpointRequest"
wsaw:Action="urn:getWeatherServiceHttpSoap11Endpoint" /> 
  <wsdl:output message="ns:getWeatherServiceHttpSoap11EndpointResponse"
wsaw:Action="urn:getWeatherServiceHttpSoap11EndpointResponse" /> 
  <wsdl:fault message="ns:ServiceException" name="ServiceException"
wsaw:Action="urn:getWeatherServiceHttpSoap11EndpointServiceException" /> 
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap11EndpointAddress">
  <wsdl:input message="ns:getWeatherServiceHttpSoap11EndpointAddressRequest"
wsaw:Action="urn:getWeatherServiceHttpSoap11EndpointAddress" /> 
  <wsdl:output
message="ns:getWeatherServiceHttpSoap11EndpointAddressResponse"
wsaw:Action="urn:getWeatherServiceHttpSoap11EndpointAddressResponse" /> 
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12Endpoint">
  <wsdl:input message="ns:getWeatherServiceHttpSoap12EndpointRequest"
wsaw:Action="urn:getWeatherServiceHttpSoap12Endpoint" /> 
  <wsdl:output message="ns:getWeatherServiceHttpSoap12EndpointResponse"
wsaw:Action="urn:getWeatherServiceHttpSoap12EndpointResponse" /> 
  <wsdl:fault message="ns:ServiceException" name="ServiceException"
wsaw:Action="urn:getWeatherServiceHttpSoap12EndpointServiceException" /> 
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12EndpointAddress">
  <wsdl:input message="ns:getWeatherServiceHttpSoap12EndpointAddressRequest"
wsaw:Action="urn:getWeatherServiceHttpSoap12EndpointAddress" /> 
  <wsdl:output
message="ns:getWeatherServiceHttpSoap12EndpointAddressResponse"
wsaw:Action="urn:getWeatherServiceHttpSoap12EndpointAddressResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
 <wsdl:binding name="WeatherServiceSoap11Binding"
type="ns:WeatherServicePortType">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
style="document" /> 
 <wsdl:operation name="getWeatherServiceHttpSoap11Endpoint">
  <soap:operation soapAction="urn:getWeatherServiceHttpSoap11Endpoint"
style="document" /> 
 <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
 <wsdl:fault name="ServiceException">
  <soap:fault use="literal" name="ServiceException" /> 
  </wsdl:fault>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap11EndpointAddress">
  <soap:operation
soapAction="urn:getWeatherServiceHttpSoap11EndpointAddress" style="document"
/> 
 <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12Endpoint">
  <soap:operation soapAction="urn:getWeatherServiceHttpSoap12Endpoint"
style="document" /> 
 <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
 <wsdl:fault name="ServiceException">
  <soap:fault use="literal" name="ServiceException" /> 
  </wsdl:fault>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12EndpointAddress">
  <soap:operation
soapAction="urn:getWeatherServiceHttpSoap12EndpointAddress" style="document"
/> 
 <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
 <wsdl:binding name="WeatherServiceSoap12Binding"
type="ns:WeatherServicePortType">
  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http";
style="document" /> 
 <wsdl:operation name="getWeatherServiceHttpSoap11Endpoint">
  <soap12:operation soapAction="urn:getWeatherServiceHttpSoap11Endpoint"
style="document" /> 
 <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
 <wsdl:fault name="ServiceException">
  <soap12:fault use="literal" name="ServiceException" /> 
  </wsdl:fault>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap11EndpointAddress">
  <soap12:operation
soapAction="urn:getWeatherServiceHttpSoap11EndpointAddress" style="document"
/> 
 <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12Endpoint">
  <soap12:operation soapAction="urn:getWeatherServiceHttpSoap12Endpoint"
style="document" /> 
 <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
 <wsdl:fault name="ServiceException">
  <soap12:fault use="literal" name="ServiceException" /> 
  </wsdl:fault>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12EndpointAddress">
  <soap12:operation
soapAction="urn:getWeatherServiceHttpSoap12EndpointAddress" style="document"
/> 
 <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
 <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
 <wsdl:binding name="WeatherServiceHttpBinding"
type="ns:WeatherServicePortType">
  <http:binding verb="POST" /> 
 <wsdl:operation name="getWeatherServiceHttpSoap11Endpoint">
  <http:operation
location="WeatherService/getWeatherServiceHttpSoap11Endpoint" /> 
 <wsdl:input>
  <mime:content type="text/xml" part="getWeatherServiceHttpSoap11Endpoint"
/> 
  </wsdl:input>
 <wsdl:output>
  <mime:content type="text/xml" part="getWeatherServiceHttpSoap11Endpoint"
/> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap11EndpointAddress">
  <http:operation
location="WeatherService/getWeatherServiceHttpSoap11EndpointAddress" /> 
 <wsdl:input>
  <mime:content type="text/xml"
part="getWeatherServiceHttpSoap11EndpointAddress" /> 
  </wsdl:input>
 <wsdl:output>
  <mime:content type="text/xml"
part="getWeatherServiceHttpSoap11EndpointAddress" /> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12Endpoint">
  <http:operation
location="WeatherService/getWeatherServiceHttpSoap12Endpoint" /> 
 <wsdl:input>
  <mime:content type="text/xml" part="getWeatherServiceHttpSoap12Endpoint"
/> 
  </wsdl:input>
 <wsdl:output>
  <mime:content type="text/xml" part="getWeatherServiceHttpSoap12Endpoint"
/> 
  </wsdl:output>
  </wsdl:operation>
 <wsdl:operation name="getWeatherServiceHttpSoap12EndpointAddress">
  <http:operation
location="WeatherService/getWeatherServiceHttpSoap12EndpointAddress" /> 
 <wsdl:input>
  <mime:content type="text/xml"
part="getWeatherServiceHttpSoap12EndpointAddress" /> 
  </wsdl:input>
 <wsdl:output>
  <mime:content type="text/xml"
part="getWeatherServiceHttpSoap12EndpointAddress" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
 <wsdl:service name="WeatherService">
 <wsdl:port name="WeatherServiceHttpSoap11Endpoint"
binding="ns:WeatherServiceSoap11Binding">
  <soap:address
location="http://localhost:9081/Axis2Weather/services/WeatherService.WeatherServiceHttpSoap11Endpoint/";
/> 
  </wsdl:port>
 <wsdl:port name="WeatherServiceHttpSoap12Endpoint"
binding="ns:WeatherServiceSoap12Binding">
  <soap12:address
location="http://localhost:9081/Axis2Weather/services/WeatherService.WeatherServiceHttpSoap12Endpoint/";
/> 
  </wsdl:port>
 <wsdl:port name="WeatherServiceHttpEndpoint"
binding="ns:WeatherServiceHttpBinding">
  <http:address
location="http://localhost:9081/Axis2Weather/services/WeatherService.WeatherServiceHttpEndpoint/";
/> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

Any advice on why I cannot see the WeatherService (when the application is
successfully deployed as EAR and app started successfully) will be
appreciated.





                   


 
-- 
View this message in context: 
http://www.nabble.com/Axis-2-%281.5%29---Unable-to-find-service-for-POJO-tp26012836p26012836.html
Sent from the Axis - User mailing list archive at Nabble.com.

Reply via email to