Hi Axis2 Developers and Gurus
Recently I have sent below request to "axis2-user" group and did not get
any responses at all. I am evalutaing axis2 and JAX-WS programming model
and struck with simple sample application. I found there is not much
material out there like "how-to" step by step guild to build web
applications using axis2 and JAX-WS. I have read following link
"http://ws.apache.org/axis2/1_4_1/jaxws-guide.html" and gives an overall
high level view but lacks details.
May be some thing is wrong with my implementation class and/or
services.xml file. Also there is a possibility there is bug in Axis2 1.4.1
for JAX-WS.
I am hoping some one will clarify this issue.
Thanks in Advance
Ramesh
------------------------------------------------------------------------------------------------------------------------------------------------------------
Hi All
I am getting below error when a client calls a web service operation built
using Axis2 1.4.1, Java 1.6, JAX-WS
and Tomcat 6.0.18:
[ERROR] Message Receiver not found for AxisOperation:
{http://service/}getQuote
org.apache.axis2.AxisFault: Message Receiver not found for AxisOperation:
{http:
//service/}getQuote
Here are the steps followed:
1) Axis2 war file is deployed in Tomcat 6.0.18.
2) Using top-down model with existing wsdl. Generated server and client
side code using wsimport tool part of
Java 1.6. Added Java implementation class for interface and deployed the
service under services folder in axis2
WEB-INF.The service is deployed and it is active.
3) When I run the client I get an exception with above exception message
4) I also built service using axis2 WSDL2Java tool (adb as data binding)
and deployed it. When I ran the
client (which is built using JAX-WS api) it works fine.
So the error is in service side with JAX-WS. Is it a bug in axis2 1.4.1
implememtation or some thing I am missing?
Please help me resolve this issue.
Below are the service implementation class, services.xml and wsdl files:
Prj71Impl.java
---------------
package service;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;
@WebService(endpointInterface = "service.Prj71",
serviceName = "Prj71Service",
wsdlLocation="META-INF/Prj71Service.wsdl", portName= "Prj71Port")
public class Prj71Impl implements Prj71 {
public GetQuoteResponse
getQuote(GetQuoteRequest req) {
GetQuoteResponse res = new GetQuoteResponse();
res.setReturn(100);
return res;
}
}
services.xml
------------
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<service name="Prj71Service" scope="application">
<messageReceiver>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
</messageReceiver>
<parameter name="ServiceClass">service.Prj71Impl</parameter>
<parameter name="useOriginalwsdl">true</parameter>
<!-- Below entries are added but no difference in resolving the
problem -->
<parameter name="modifyUserWSDLPortAddress">true</parameter>
<operation name="getQuote" mep="
http://www.w3.org/2004/08/wsdl/in-out" namespace="http://service/">
<actionMapping>tns:getQuote</actionMapping>
<outputActionMapping>http://service/Prj71/getQuoteResponse</outputActionMapping>
</operation>
</service>
</serviceGroup>
Prj7Service.wsdl
-----------------
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wsdl:definitions name="Prj71Service" targetNamespace="http://service/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="
http://service/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema>
<xsd:import namespace="http://service/"
schemaLocation="Prj71Service_schema1.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="getQuoteRequest">
<wsdl:part name="parameters" element="tns:GetQuoteRequest"/>
</wsdl:message>
<wsdl:message name="getQuoteResponse">
<wsdl:part name="parameters" element="tns:GetQuoteResponse"/>
</wsdl:message>
<wsdl:portType name="Prj71">
<wsdl:operation name="getQuote">
<wsdl:input message="tns:getQuoteRequest"/>
<wsdl:output message="tns:getQuoteResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Prj71PortBinding" type="tns:Prj71">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="getQuote">
<soap:operation soapAction="tns:getQuote"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Prj71Service">
<wsdl:port name="Prj71Port" binding="tns:Prj71PortBinding">
<soap:address location="
http://localhost:8080/axis2/services/Prj71Service"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Thanks
Ramesh
________________________________________________________
DTCC DISCLAIMER: This email and any files transmitted with it are
confidential and intended solely for the use of the individual or
entity to whom they are addressed. If you have received this email
in error, please notify us immediately and delete the email and any
attachments from your system. The recipient should check this email
and any attachments for the presence of viruses. The company
accepts no liability for any damage caused by any virus transmitted
by this email.