• webservice 小小例子


    Web Service的主要目标是跨平台的可互操作性。为了实现这一目标,Web Service 完全基于XML(可扩展标记语言)、XSD(XML Schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。

    1:基础包,

    2:配置文件,

    deploy.wsdd

    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" target="_blank">
    <service name="hello" provider="java:RPC">
    <parameter name="className" value="HelloWorld" />
    <parameter name="allowedMethods" value="getName" />
    </service>
    </deployment>

    server-config.wsdd

    <?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="http://xml.apache.org/axis/wsdd/"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

    <globalConfiguration>
    <parameter name="sendMultiRefs" value="true" />
    <parameter name="disablePrettyXML" value="true" />
    <parameter name="dotNetSoapEncFix" value="true" />
    <parameter name="enableNamespacePrefixOptimization" value="false" />
    <parameter name="sendXMLDeclaration" value="true" />
    <parameter name="sendXsiTypes" value="true" />
    <parameter name="attachments.implementation"
    value="org.apache.axis.attachments.AttachmentsImpl" />
    </globalConfiguration>

    <handler type="java:org.apache.axis.handlers.http.URLMapper"
    name="URLMapper" />
    <service name="hello" provider="java:RPC">
    <parameter name="className" value="server.HelloWorld" />
    <parameter name="scope" value="request" />
    <parameter name="allowedMethods" value="*" />
    <messageReceiver
    class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
    </service>
    <transport name="http">
    <requestFlow>
    <handler type="URLMapper" />
    </requestFlow>
    </transport>
    </deployment>

    web.xml

    <servlet>
    <servlet-name>AxisServlet</servlet-name>
    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>AxisServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

    3:实现类

    客户端:

    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;

    public class TestClient {

    public static void main(String[] args) throws Exception {

    String endpoint = "http://127.0.0.1/services/hello?wsdl";
    Service service = new Service();

    Call call = (Call) service.createCall();

    call.setTargetEndpointAddress(new java.net.URL(endpoint));

    call.setOperationName("backElectricKp");

    String ret = (String) call.invoke(new Object[] { "xiexianyi" });

    System.out.println(ret);

    }

    }

    服务端:

    public class HelloWorld {
    public String getName(String name) {

    return "hello World —>" + name;
    }
    }

    完美~

    例子:

    http://files.cnblogs.com/files/xiexy/axis.zip

  • 相关阅读:
    【转】有助于事业发展和幸福感提升的四个约定
    python命名空间的本质
    递归函数的定义和几个小例子
    全局变量与局部变量的使用问题
    计算机网络基础知识
    网络编程的基本概念,TCP/IP协议简介
    开博 第一篇
    Java8新特性之Stream
    深入理解HashMap(原理,查找,扩容)
    SQL优化|Java面试题
  • 原文地址:https://www.cnblogs.com/xiexy/p/5130821.html
Copyright © 2020-2023  润新知