WSDL文件生成

1. 背景

有过WEB开发的读者,相信对什么是B/S结构并不会陌生。在B/S结构下,应用的逻辑完全在应用服务器实现,用户表现完全在web服务器上实现,客户端只需要浏览器即可进行业务处理。对,客户一般都是通过浏览器来操作的。但是随着科技的发展,我们现在要想访问应用的服务器,不仅可以用浏览器,还可以用POS机、ATM机、用机等。使用这些不是浏览器的工具,那么在开发中,可能最头痛的无非就是如何测试了。总不可以,真的用POS机来测试吧,不过测试价格还行,可行;要是ATM机呢?那该怎么办?所以,我们需要借助其它工具来帮助测试。笔者知道的也就是SoapUI的工具,这个也是笔者在工作中要用的测试工具。可是,笔者就是好奇,SoapUI是工作的呢?也就是客户发起了一笔交易,是通过SoapUI(假设)是怎样进入到系统后端的呢?带着这样的疑惑我们进入今天的博客。

2. 例子说明

这里笔者将通过一个例子来说明如何生成WSDL的文件 ,及如何用SoapUI的工具来测试。这样的话同,读者就可以知道SoapUI如何来模拟第三方的系统测试了。这里,笔者会创建一个User类,由于是例子,所以笔者没有使用数据库,只是规定好了,用户名要为”owen”,密码要为”1234”来实现用户的登录测试。记住,用户的登录不再使用浏览器,而是用SaopUI工具来实现。(源码地址:https://github.com/owenwilliam/UserLogin)

3. 生成WSDL文件

笔者这里规定UserLogin类作为用户登录时的接口类,也就是SoapUI发起请求,最先调用的就是这个类了。下面,我们就用这个类生成一个WSDL文件。

1)        右击类,选择Create Web Service

2)        选择服务的环境和服务工程,我们都采用默认的。

3)        输入我们要生成WSDL文件的名称,这里可以自己命名,或是使用默认的。

4)        如果Tomcat的服务器没有启动的话,那么就要执行下面那步了。

5)        最后这一步,我们不用勾选,直接Finish就可以了。

6)        查看我们的工程,发现生成了下面的文件。其中有一个就是我们所关心的UserLogin.wsdl文件了。同时,笔者兴趣的话,可以打开web.xml、server-config.wsdd、undeploy.wsdd文件去看个究竟。这里笔者就不给出解析了。

4. 理解WSDL文件

1)        查看生成的wsdl的文件,我们看到的是<element name=”userLogin”>下面有几个参数就是我们在UserLogin类的方法中定义的。也就是说,客户要发起对我们系统请求时,这两个字段是必填的字段;并且要对应于我们规定规定的string的类型。

 <wsdl:types>
  <schema elementFormDefault="qualified" targetNamespace="http://client.owen.com" xmlns="http://www.w3.org/2001/XMLSchema">
   <element name="userlogin">
    <complexType>
     <sequence>
      <element name="name" type="xsd:string"/>
      <element name="password" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="userloginResponse">
    <complexType/>
   </element>
  </schema>
 </wsdl:types>

2)        wsdl文件中的有<wsdl:message>的标签分别是**Request和**Responser,这是我们再熟悉不过的B/S构架了,就是请求与响应的信息提示。

<wsdl:message name="userloginRequest">

      <wsdl:part element="impl:userlogin" name="parameters">

      </wsdl:part>

   </wsdl:message>

   <wsdl:message name="userloginResponse">

      <wsdl:part element="impl:userloginResponse" name="parameters">

      </wsdl:part>

   </wsdl:message>

3)        最后是重要的一个<wsdl:service/>的标签,这个是我们需要请求服务时的url的地址,也就是我们要写在SoapUI的地址栏那个地方。

<wsdl:service name="UserLoginService">

      <wsdl:port binding="impl:UserLoginSoapBinding" name="UserLogin">

         <wsdlsoap:address location="http://localhost:8888/UserLogin/services/UserLogin"/>

      </wsdl:port>

   </wsdl:service>

时间: 2024-08-29 22:59:54

WSDL文件生成的相关文章

C#根据WSDL文件生成WebService服务端代码

转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html 虽然现在已经进入了.NET FrameWork 4.0的时代,WebService也已经逐渐被淘汰,取而代之的是WCF. 但在工作中难免遇到需要兼容旧版本程序和按照以前的文档进行开发. 一般一个已经实现功能的WebService会发布自己的WSDL文件,供客户端调用生成代理类. 但有时是先有server与client交互的接口定义(WSDL)文件,然后由server和

axis2处理webservice接口的wsdl文件生成java代码

第一步: 下载axis2,我下载的版本是[axis2-1.6.2-bin.zip],要把文件夹解压 第二步: 打开命令窗口,进入到axis的路径下bin目录 第三步: 执行语句:./wsdl2java.sh -uri 文件.xml(wsdl文件) -o 生成路径 -p 包结构(com.b.c) 就可以在设置的[生成路径]下找到对应[包结构]的java代码 [~/work/axis2-1.6.2/bin]$./wsdl2java.sh -uri 文件.xml(wsdl文件) -o 生成路径 -p 

(转帖)C#--web services之wsdl文件生成cs

若要使用该服务,需要使用 SDK 中包含的 Web 服务描述语言命令行工具 (WSDL.exe) 创建与 .asmx 文件中定义的类相似的代理类.(它将仅包含 WebMethod 方法.)然后使用包含的此代理类编译代码. WSDL.exe 接受各种命令行选项,但若要创建代理,则只需一个选项:WSDL 的 URI.在此示例中,传递几个指定此代理的首选语言.命名空间和输出位置的额外选项.还对以前保存的 WSDL 文件进行编译,而不是编译服务本身的 URI: wsdl.exe /l:CS /n:Mat

webservice 的wsdl文件生成客户端java类

发布webservice项目后, 地址栏地址 http://localhost:8888/lxitedu.webservice.cxf-ch2/services/userService?wsdl 使用这个XML文档生成Java代码,应用在我们的程序中: 需要使用JDK提供的命令:wsimport,在命令行直接输入wsdl2java,可以获得帮助信息. 命令参数说明: -d:生成客户端执行类的class文件的存放目录 -s:生成客户端执行类的源文件的存放目录 -p:定义生成类的包名 wsdl2ja

使用CXF将wsdl文件生成客户端代码命令

1.先下载cxf包 http://cxf.apache.org/download.html,现在cxf包.(下载资源就有) 2.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) cxf生成客户端代码 3.使用wsdl2java命令生成客户端代码 在命令行执行wsdl2java -p org.logink.ws -d f:\logink\src -all E:\wsdl3.1-credit\LogisticsCreditService\LogisticsCreditServ

Axis2发布webservice(3)--axis2生成wsdl文件,并利用wsdl文件来生成WebService的Java代码

一.利用axis2生成wsdl文件 1.file->New->Other->Axis2 Code Generator 2.选择第2个,点击next 3,先点击add folder->浏览选择WebService项目下的bin文件夹,然后在fully Qualified Class name中填入类路径(包括包名) 然后点击Test 测试是否正确. 点击Next 4.可以看到即将发布的WebService名称和命名空间 5.继续Next,选择wsdl文件保存目录 这样services

php学习之道:php中soap的使用实例以及生成WSDL文件,提供自动生成WSDL文件的类库——SoapDiscovery.class.php类

1. web service普及: Webservice soap wsdl区别之个人见解 Web Service实现业务诉求:  Web Service是真正"办事"的那个,提供一种办事接口的统称. WSDL提供"能办的事的文档说明":  对要提供的服务的一种描述格式.我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型. SOAP提供"请求"的规范:  向服务接口传递请求的格式,包括方法和参数等.你想让人家办事,总得告诉人家

PHP webserver 之 soap 生成wsdl文件

<?php /** * Copyright (c) 2005, Braulio Jos?Solano Rojas * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are * permitted provided that the following conditions are met: * * Redistributions o

eclipse根据.wsdl文件自动生成webservice的调用客户端

1.工具:eclipse3.3或者是带有webservice插件的eclipse 2. 首先用浏览器访问webservice的站点,接着保存打开的页面,后缀为.wsdl. 3.把保存好的文件拷入eclipse的工程中. 4.eclipse:file----new---other----webservice----web service client,选择之前拷贝到eclipse中的.wsdl文件,点击finish. 这样eclipse就帮我们自动生成了web service的客户端,接下来只需在