//addition.java
package additionService;
import java.util.Iterator;
import org.apache.axiom.om.*;
public class addition
{
public addition()
{
}
public OMElement add(OMElement omelement)
{
OMFactory omfactory = OMAbstractFactory.getOMFactory();
org.apache.axiom.om.OMNamespace omnamespace = omfactory.createOMNamespace("http://www.example.org/additionService/", "additionService");
OMElement omelement1 = omfactory.createOMElement("sum", omnamespace);
Iterator iterator = omelement.getChildren();
int i = Integer.parseInt(((OMElement)iterator.next()).getText()) + Integer.parseInt(((OMElement)iterator.next()).getText());
omelement1.addChild(omfactory.createOMText((new StringBuilder()).append("").append(i).toString()));
return omelement1;
}
}
//services.xml
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<service name="additionService">
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
</messageReceivers>
<parameter name="ServiceClass" locked="false">
additionService.addition
</parameter>
<operation name="add"
mep="http://www.w3.org/2004/08/wsdl/in-out">
<actionMapping>
http://localhost:8080/axis2/services/additionService
</actionMapping>
</operation>
</service>
</serviceGroup>
//client.java
import java.io.StringWriter;
import javax.xml.stream.*;
import org.apache.axiom.om.*;
import org.apache.axis2.*;
import org.apache.axis2.client.*;
import org.apache.axis2.addressing.*;
public class addClient {
private static EndpointReference targetEPR = new EndpointReference(
"http://localhost:8080/axis2/services/additionService");
public static void main(String[] args) {
try {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace omNs = fac.createOMNamespace(
"http://www.example.org/additionService1/", "additionService1");
OMElement add = fac.createOMElement("add", omNs);
OMElement number1 = fac.createOMElement("number", omNs);
number1.addChild(fac.createOMText("1"));
add.addChild(number1);
OMElement number2 = fac.createOMElement("number", omNs);
number2.addChild(fac.createOMText("2"));
add.addChild(number2);
System.out.println(add);
Options options = new Options();
options.setTo(targetEPR);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
options.setAction("http://localhost:8080/axis2/services/additionService");
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(add);
StringWriter writer = new StringWriter();
result.serialize(XMLOutputFactory.newInstance()
.createXMLStreamWriter(writer));
writer.flush();
System.out.println(writer.toString());
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
}
}
No comments:
Post a Comment