AxisFault: the ServiceClass object does not implement the required method in the following form: OMElement add (OMElement e)

I am trying to learn WebServices (Axis2)

I am using Jboss EAP 7.0, eclipse_mars with JDK 8 and the latest Axis2 (axis2-1.7.4).

When running client code

package com.durgasoft.service;

public class Test {
public static void main(String[] args) throws Exception{
    CalServiceStub stub = new CalServiceStub();
    //Code to invoke add()
    CalServiceStub.Add params =
    new CalServiceStub.Add();
    params.setI(13);
    params.setJ(10);
    CalServiceStub.AddResponse
    res = stub.add(params);
    int result = res.get_return();
    System.out.println(result);
    } 
}

The error I am getting is:

Exception in thread "main" org.apache.axis2.AxisFault: The ServiceClass object does not implement the required method in the following form: OMElement add(OMElement e)
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:508)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:368)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:414)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:150)
    at com.durgasoft.service.CalServiceStub.add(CalServiceStub.java:181)
    at com.durgasoft.service.Test.main(Test.java:12)

I looked at the posts below in StackOverFlow:

,

package com.durgaSoft.service;

public class CalService {

    public int add(int i, int j){
        return i+j;
    }
}

eclipse wsdl WSDL. WSDL .

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://service.durgaSoft.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" targetNamespace="http://service.durgaSoft.com">
    <wsdl:documentation>Please Type your service description here</wsdl:documentation>
    <wsdl:types>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.durgaSoft.com">
            <xs:element name="add">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="i" type="xs:int"/>
                        <xs:element name="j" type="xs:int"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="addResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="return" type="xs:int"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="addRequest">
        <wsdl:part name="parameters" element="ns:add"/>
    </wsdl:message>
    <wsdl:message name="addResponse">
        <wsdl:part name="parameters" element="ns:addResponse"/>
    </wsdl:message>
    <wsdl:portType name="CalServicePortType">
        <wsdl:operation name="add">
            <wsdl:input message="ns:addRequest" wsaw:Action="urn:add"/>
            <wsdl:output message="ns:addResponse" wsaw:Action="urn:addResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="CalServiceSoap11Binding" type="ns:CalServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="add">
            <soap:operation soapAction="urn:add" 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="CalServiceSoap12Binding" type="ns:CalServicePortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
        <wsdl:operation name="add">
            <soap12:operation soapAction="urn:add" 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="CalServiceHttpBinding" type="ns:CalServicePortType">
        <http:binding verb="POST"/>
        <wsdl:operation name="add">
            <http:operation location="add"/>
            <wsdl:input>
                <mime:content type="application/xml" part="parameters"/>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="application/xml" part="parameters"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="CalService">
        <wsdl:port name="CalServiceHttpSoap11Endpoint" binding="ns:CalServiceSoap11Binding">
            <soap:address location="http://localhost:8080/Axis2CalService/services/CalService.CalServiceHttpSoap11Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="CalServiceHttpSoap12Endpoint" binding="ns:CalServiceSoap12Binding">
            <soap12:address location="http://localhost:8080/Axis2CalService/services/CalService.CalServiceHttpSoap12Endpoint/"/>
        </wsdl:port>
        <wsdl:port name="CalServiceHttpEndpoint" binding="ns:CalServiceHttpBinding">
            <http:address location="http://localhost:8080/Axis2CalService/services/CalService.CalServiceHttpEndpoint/"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>

ServiceXML:

<service name="CalService" >
    <Description>
        Please Type your service description here
    </Description>

    <messageReceivers>
        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
        <messageReceiver  mep="http://www.w3.org/ns/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
    </messageReceivers>
    <!-- 
    <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" locked="false">com.durgaSoft.service.CalService</parameter>
</service>
+6
1

, .

: WebContent--> WEB-INF → services--> ProjectName--> META-INF → sevices.xml

: http://www.w3.org/2004/08/wsdl/in-onlyhttp://www.w3.org/ns/wsdl/in-only

& ;

http://www.w3.org/2004/08/wsdl/in-out  -> http://www.w3.org/ns/wsdl/in-out

axis2.xml URL. .

0

Source: https://habr.com/ru/post/1017076/


All Articles