我看了一下axis2-1.5.4的sample,其生产webservice的客户端中几乎都没有CallbackHandler这个抽象类和stub了,客户端很简洁。
CallbackHandler 和stub的作用是什么,用axis2可以实现哪些webservice调用方式?
初次接触webservice和axis2,请朋友们指点一下,谢谢!

解决方案 »

  1.   

    大部分的客户端都写成了一下这种形式:
    package example.client;import org.apache.axiom.om.OMAbstractFactory;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMFactory;
    import org.apache.axiom.om.OMNamespace;
    import org.apache.axis2.addressing.EndpointReference;
    import org.apache.axis2.client.Options;
    import org.apache.axis2.client.ServiceClient;public class TestClient {
    private static EndpointReference targetEPR = new EndpointReference(
    "http://localhost:8080/axis2/services/HelloWorld"); public static OMElement getSayHelloOMElement(String name) {
    OMFactory fac = OMAbstractFactory.getOMFactory();
    OMNamespace omNs = fac
    .createOMNamespace("http://sample/xsd", "hw");
    OMElement method = fac.createOMElement("sayHello", omNs);
    OMElement value = fac.createOMElement("name", omNs);
            value.addChild(fac.createOMText(value, name));
            method.addChild(value);
            return method;
    } public static void main(String[] args) {
    try {
    Options options = new Options();
    options.setTo(targetEPR);
    ServiceClient sender = new ServiceClient();
    sender.setOptions(options);
    OMElement sayHello = getSayHelloOMElement("ZJ");
    OMElement result = sender.sendReceive(sayHello);
    System.out.println(result);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
      

  2.   

    例如上面的这个Client端就没有CallbackHandler和stub 代码也很简洁。
    新手求教!