zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ZedBoard学习(6)System Generator实现串口通信(一行HDL代码都不用写)
    ZedBoard学习(1)Ubutun下进行串口通信
    Zedboard学习(7)PS下第一个裸奔程序
    激光雷达(一)数据采集C++
    win7/win8下安装Oracle1出错10g,提示“程序异常终止,发生未知错误”解决方法
    XML文件的加密与解密
    三层中最重要的SqlHelper类
    创建桌面快捷方式的语法
    秋招总结 艾尔夏尔
    thoughtworks二面准备 (三) 艾尔夏尔
  • 原文地址:https://www.cnblogs.com/xiexy/p/5130821.html
Copyright © 2011-2022 走看看