`
cczzyc
  • 浏览: 23945 次
社区版块
存档分类
最新评论
阅读更多

一个wsdl文档的根元素是definitions元素,

 wsdl文档包含7个重要的元素:types,import,message,portType,binding,service,operations。

2.WSDL的声明必须定义成使用:UTF-8 或者UTF-16 编码。<? xml version="1.0" encoding="UTF-8"?>

废话不多说直接进入主题,需要用到的jar包附件有,有需要的可以下载。下面请看本人亲测的一个小程序。

1.先写一个类,包含需要操作的方法

public class Capacity {
    public double convertGallon2Litre(double gallon)
    {
        return gallon * 4.546;
    }
}

2.一定要在/WEB-INF/下创建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">
<handler type="java:org.apache.axis.handlers.http.URLMapper" 
     name="URLMapper" />
<service name="Capacity" provider="java:RPC">
<parameter name="className" value="samples.capacity.Capacity"/>
<parameter name="allowedMethods" value="*"/>
</service>
 <transport name="http"> 
        <requestFlow> 
            <handler type="URLMapper" /> 
        </requestFlow> 
    </transport> 
</deployment>

注:不加handler、transport可能会报异常。

3.在web.xml文件中配置

<!-- WebService -->
    <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>/service/*</url-pattern> 
    </servlet-mapping>

注:<url-pattern>/service/*</url-pattern>  这个就是你要访问的服务地址,可以改写你自己的服务名字

以上代码写好以后,部署到tomcat中,启动服务,访问http://localhost:8080/wsdl/services/Capacity?wsdl即可。

4.以下是测试类。

    public static void main(String[] args) throws ServiceException, RemoteException {
        //调用定制发布的soap服务
        Service service = new Service();
        Call call = (Call)service.createCall();
        //设置访问点
        call.setTargetEndpointAddress("http://localhost:8080/wsdl/services/Capacity");
        //设置操作名
        call.setOperationName("convertGallon2Litre");
        //设置入口参数
        call.addParameter("opl", XMLType.XSD_DOUBLE, ParameterMode.IN);
        call.setReturnType(XMLType.XSD_DOUBLE);
        double dl = new Double(10.00);
        System.out.println(dl+"加仑相当于"+call.invoke(new Object[]{dl})+"升");

    }

分享到:
评论

相关推荐

    webservice soap wsdl

    "webservice soap wsdl" Web Service 是一种网络接口,为应用程序提供了交互和分布式处理的效果,与平台、开发语言无关。Web Service 的核心是 WSDL(Web Services Description Language),它是一种用于描述 Web ...

    java+soap+webservice 调用模拟

    通过阅读提供的"java-soap-webservice"文档,你可以进一步了解具体的实现步骤,包括如何设置项目、配置JAX-WS、生成客户端代码、编写调用服务的代码,以及如何解析响应。实践中,不断动手操作和调试是掌握这一技术的...

    SOAP调用webservice例子

    总的来说,SOAP调用Web服务涉及到XML消息的构建、发送和解析,以及使用WSDL来定义和理解服务接口。尽管现在RESTful API更为流行,但在某些需要强类型检查、事务处理和互操作性的场景下,SOAP仍然是一个重要的选择。

    PB9-soap-WEBSERVICE例子.rar

    标题中的“PB9-soap-WEBSERVICE例子.rar”表明这是一个关于PowerBuilder 9(简称PB9)使用SOAP(简单对象访问协议)调用Web服务的示例压缩包。这个例子可能包含完整的代码、配置文件以及相关的说明文档,用于演示...

    Soap WebService 调试工具

    SOAP WebService调试工具是开发人员用来测试、验证和调试SOAP接口的重要工具。本文将详细介绍SOAP WebService调试工具,并以“SoapUI”为例进行讲解。 SOAPUI是一款功能强大的开源工具,专为SOAP和REST Web服务测试...

    (转)WebService之WSDL和SOAP实例(基于JAVA)

    【标题】"WebService之WSDL和SOAP实例(基于JAVA)"主要涵盖了两个核心概念:Web服务描述语言(WSDL)和简单对象访问协议(SOAP),这些都是在Java环境下实现Web服务的关键技术。 **Web服务描述语言(WSDL)** WSDL是...

    C#实现SOAP调用WebService

    最近写了一个SOA服务,开始觉得别人拿到我的服务地址,然后直接添加引用就可以使用了,结果"大牛"告知不行。...让我写一个SOAP调用服务的样例,我有点愣了,因为没做过这方面的,于是搞到了一个Demo,然后学习了下。

    基于XML的SOAP_WebService分布式系统架构的研究和实现

    - **WSDL(Web Services Description Language)**:使用XML来描述WebService的所有方法、参数和服务的位置。 - **UDDI(Universal Description, Discovery and Integration)**:一个公开的标准,用于注册、管理和...

    PHP webservice教程,soap wsdl密码验证,webservice高级应用

    本教程将聚焦于PHP的Web服务实现,特别是SOAP(Simple Object Access Protocol)协议以及WSDL(Web Services Description Language)的密码验证功能,这些都是Web服务高级应用的重要组成部分。 首先,我们要理解...

    CXF-SOAP搭建WebService服务端demo

    【标题】"CXF-SOAP搭建WebService服务端demo"主要涵盖了使用Apache CXF框架、Spring框架、Maven构建工具以及SOAP协议来创建一个Web服务端的实例。这个过程涉及了多个关键知识点,下面将详细阐述。 【SOAP】:简单...

    VB6 & SOAP & WebService

    2. **构建SOAP请求**:根据WebService的WSDL(Web Service Description Language)文档,确定需要调用的方法和参数,然后使用VB6的字符串处理函数构造SOAP请求的XML格式。 3. **发送请求**:使用XMLHTTP对象的Open和...

    Webservice下Soap、WSDL规范详解

    详细描述WebService中SOAP协议的规范,以及WSDL文件所需要包含的要素

    wsdl详解(webservice)

    【WSDL详解(Webservice)】 Web服务描述语言(Web Services Description Language,简称WSDL)是一种基于XML的应用,主要用于描述Web服务的接口和其通信细节。WSDL文档定义了一组服务访问点,允许客户端通过这些点与...

    C#调用WebService实例和开发(wsdl).rar

    1. **生成代理类**:使用Visual Studio或其他工具,如`svcutil.exe`,根据WebService的WSDL(Web服务描述语言)文件生成代理类。WSDL文件描述了服务的接口、方法、参数等信息。在本例中,"C#调用WebService实例和...

    用Soap调用webservice接口

    本篇将深入探讨如何使用SOAP来调用WebService接口,以及相关工具的使用。 首先,我们需要理解SOAP的工作原理。SOAP基于XML(Extensible Markup Language),它定义了一个消息结构,使得应用程序可以发送和接收结构...

    VS2015 C++和C++的通过SOAP的WebService,C++和C#的WebService发布和调用

    GSOAP提供了代码生成工具,如`wsdl2h`和`soapcpp2`,它们可以自动生成从WSDL(Web服务描述语言)文件或SOAP接口定义的C++客户端和服务端代码。 接下来,我们将讨论如何发布一个C++ SOAP Web服务。你需要定义服务...

    VS2015 C++和C++的通过SOAP的WebService,C++和C#的WebService发布和应用

    在VS2015中,可以使用Microsoft的ATL(活动模板库)和WSDL(Web服务描述语言)工具来创建SOAP客户端和服务器。ATL提供了一种轻量级的COM(组件对象模型)编程模型,它使得创建SOAP Web服务变得更加容易。使用WSDL...

    spring boot 开发soap webservice的实现代码

    WSDL 文件是SOAP WebService 的描述信息,包括接口地址、接口调用方法、接口输入参数、接口输出参数、接口出错返回信息等。在 Spring Boot 中,我们可以使用 spring-boot-starter-web-services 模块来生成 WSDL 文件...

Global site tag (gtag.js) - Google Analytics