I've seen the earlier posts on similar subjects but I have not found my solution ..
I have a service that I want to access in REST style. The client code is
String toEpr = " http://localhost:7001/axis2/rest/MyService";
Options options = new Options();
options.setTo(new EndpointReference(toEpr));
options.setAction("MyAction");
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
ServiceClient sender = new ServiceClient();
sender.engageModule(new QName(Constants.MODULE_ADDRESSING));
sender.setOptions(options);
XMLStreamReader reader = document.newXMLStreamReader(); // document is an XMLBeans binding that already has read its data from an XML file
StAXOMBuilder builder = new StAXOMBuilder(reader);
OMElement payload= builder.getDocumentElement();
OMElement result = sender.sendReceive(payload);
When executing, on the server I get the following exception :
org.apache.axis2.AxisFault: Operation Not found EPR is /axis2/services/MyService and WSA Action ="" null
It makes no difference whether or not I set the action on the options, as in the above client code. It also makes no difference whether or not I set the addressing module on the sender, as in the above code.
In services.xml on the server I have the following
<serviceGroup>
<service name="MyService">
<messageReceivers>
<messageReceiver mep=" http://www.w3.org/2004/08/wsdl/in-out" class="com.this.and.that.MyServiceMessageReceiverInOut"/>
</messageReceivers>
<parameter locked="false" name="ServiceClass"> com.this.and.that.MyServiceSkeleton</parameter>
<operation name="MyRQ" mep=" http://www.w3.org/2004/08/wsdl/in-out">
<actionMapping>MyAction</actionMapping>
</operation>
</service>
</serviceGroup>
Does anyone have an idea what I'm missing or doing wrong ??
thank you
Heikki Doeleman