`
congjl2002
  • 浏览: 215818 次
  • 性别: Icon_minigender_1
  • 来自: 辽宁
社区版块
存档分类
最新评论

用wsdd来开发web services

阅读更多
用wsdd来开发web services

用wsdd(服务部署描述语言),主要是编写java文件和编写wsdd文件。
1。编写java文件,最好是定义在某一个包下,否则便以后直接放到\WEB-INF\classes下,有时会出错,原因是在用deploy.wsdd部署时映射不对。然后直接包对应的包放到\WEB-INF\classes中。HelloWorldG.java文件:
     package test.gaolong;
public class HelloWorldG{
   public String sayHelloG(String name){
          return "HelloG "+name;
          }
       }
2。编写wsdd文件,根据wsdd文件的规范编写相关文档。例如:(deploy.wsdd)
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><--命名空间-->
   <service name="HelloWorldG" provider="java:RPC"><-服务名-->
     <parameter name="className" value="test.gaolong.HelloWorldG"/><--对应的主类--->
     <parameter name="allowedMethods" value="*"/><---注册相应的方法,如果只有一个方法,可以直接注册方法名--->
     <parameter name="allowedRoles" value="user"/><--定义用户认证--->
     <requestFlow><-用户认证的描述文件-->
    <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
    <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
   </requestFlow>
   </service>
</deployment>
3。部署wsdd文件:打开命令口,切换到deploy.wsdd目录下,运行java org.apache.axis.client.AdminClient即可完成部署。
       这儿可能出错,正确的显示:
D:\bea\user_projects\domains\mydomain\applications\axis\WEB-INF\classes>java org.apache.axis.client.AdminClient   -p 7001   deploy.wsdd
Processing file deploy.wsdd
<Admin>Done processing</Admin>
       当在wsdl中使用deploy.wsdd来部署时,对于服务器是要打开的,而且当服务器的端口不是8080时,采用要求java org.apache.axis.client.AdminClient -p <port> deploy.wsdd 来指定并进行服务部署。
4。打开server-config.wsdd会发现增加了语句描述:<service name="HelloWorldG" provider="java:RPC">
   <requestFlow>
    <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
    <handler type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
   </requestFlow>
   <parameter name="allowedRoles" value="user"/>
   <parameter name="allowedMethods" value="*"/>
   <parameter name="className" value="test.gaolong.HelloWorldG"/>
</service>
其实直接到该文件中增加该内容,不必用org.apache.axis.client.AdminClient来部署描述。
打开IE,可以在http://127.0.0.1:7001/axis/servlet/AxisServlet看到该服务部署到服务列表上。
5。编写测试application客户端,其代码如下:
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;

public class ServiceClient{
public static void main(String[] args) throws Exception{
   String endpoint="http://127.0.0.1:7003/axis/services/HelloWorldG";
   String name="gaong1";
   Service service=new Service();
   Call call=(Call) service.createCall();//回调服务
   call.setUsername("gaolong1");
   call.setPassword("8001");//用户认证
   call.setTargetEndpointAddress(new java.net.URL(endpoint));
// call.setOperationName("sayHelloG");
   call.setOperationName(new QName("http://gaolong.test", "sayHelloG"));//设置指定的命名空间,根据wsdl文件来决定
   call.addParameter("name",XMLType.XSD_STRING,ParameterMode.IN);
   call.setReturnType(XMLType.XSD_STRING);//XMLType.XSD_STRING);
   String ret=(String)call.invoke(new Object[] {name});
   System.out.println(ret);
}
}
运行之后有关的显示。
6。通过tcpmonitor来监听的soap消息如下:
请求soap:
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
       <ns1:sayHelloG soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://gaolong.test">
               <name xsi:type="xsd:string">gaolong1</name>
       </ns1:sayHelloG>
</soapenv:Body></soapenv:Envelope>
回应soap:
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:sayHelloGResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://gaolong.test">
       <sayHelloGReturn xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">HelloG gaolong1</sayHelloGReturn>
       </ns1:sayHelloGResponse>
</soapenv:Body>
</soapenv:Envelope>

分享到:
评论

相关推荐

    用wsdd开发webservice

    【标题】"用wsdd开发Web服务" 在Web服务领域,`wsdd`(Web Services Deployment Descriptor)是一种用于配置和部署Web服务的XML文件格式,主要用于Java环境中的Web服务开发。`wsdd`是JAX-RPC(Java API for XML-...

    axis1开发Web Services入门

    ### 使用Axis1开发Web Services入门知识点详解 #### 一、实验背景与目标 在学习如何使用Axis1开发Web Services之前,我们首先需要了解几个基本概念:Web Services是一种平台独立的服务形式,它允许不同应用程序...

    Axis通过wsdd部署Web Service

    本篇文章将深入探讨如何利用Axis和wsdd(Web Services Deployment Descriptor)文件来部署Web服务。 首先,让我们了解什么是wsdd文件。wsdd是Axis用来配置和部署Web服务的XML配置文件,它包含了关于服务端点、消息...

    Web Service 开发实例 文档 1.4 wsdd client 完整

    在本实例中,我们关注的是Web Service的开发,特别是在Web Service 1.4版本中的实现,这通常指的是使用Axis 1.4工具。Axis是一个开源的Java库,用于创建和部署Web服务,它简化了WS-I基本profile的实现,提供了客户端...

    web services

    ### Web Services 在 Java 中的实现及配置详解 #### 一、Web Services 概念与应用场景 Web Services(网络服务)是一种跨平台、跨语言的...随着技术的发展,Web Services 已经成为现代软件开发中不可或缺的一部分。

    用axis布置webServices详细步骤

    本篇文章将详细解析如何使用Apache Axis来部署Web Services,这是一款广泛使用的开源工具,用于生成和消费Web Services。 首先,我们需要了解Web Services的基本概念。Web Services通过WSDL(Web Service ...

    webServices 简介与祥解

    通过这些资源,你可以深入了解Web服务的原理,学习如何使用Apache Axis来创建和配置Web服务,以及如何使用WSDD文件优化服务部署。此外,你还可以通过实际的Java示例来提升你的Web服务开发技能,并借助调用工具检查你...

    webServices的简单实现

    本示例将详细介绍如何使用Apache Axis工具来实现一个简单的“Hello World”Web服务,并在Tomcat服务器上进行部署。 首先,我们来看“Hello World”Web服务的基本概念。在Web服务中,"Hello World"是最常见的入门...

    webservices

    在描述中提到的“delphi的webservices”,很可能是指使用Delphi构建的SOAP Web服务或客户端应用。 在Delphi中创建Web服务的过程通常包括以下步骤: 1. **定义接口**:首先,你需要定义一个包含所需方法的接口。...

    WebServiceWSDD上传服务器部署server-config.wsdd文件

    在本主题中,我们将深入探讨如何使用WSDD(Web Services Deployment Descriptor)文件来部署一个WebService到服务器上,以及与之相关的`web.xml`配置文件。 **什么是WSDD?** WSDD,全称Web Services Deployment ...

    axiss2 写webservices

    ### Axis2 Web Services 使用 Stub 方式进行部署与调用详解 #### 一、概述 Axis 是 Apache 软件基金会下的一个开源项目,用于构建 Web 服务。它提供了 Java 和 C++ 版本,其中 Axis2 为 Java 版本。Axis2 的设计...

    axis1.4部署webSevice项目测试(已有所相关的jar包)+开发指南+源码+部署相关配置wsdd文件,内有说明

    本文将详细探讨Axis1.4的部署、Web服务开发以及相关配置文件的使用。 首先,让我们了解如何使用Axis1.4部署Web服务项目。部署Web服务项目通常包括以下几个步骤: 1. **环境准备**:确保你已经安装了Java ...

    使用安全验证的JAX-WS WEB SERVICES示例

    例如,我们可以使用WSS4J(Web Services Security for Java)库来实现这一功能。 描述中提到的博文链接可能详细介绍了如何设置和实现这个示例。通常,实现过程包括以下步骤: 1. **创建SEI**:定义服务端点接口,...

    Web Service开发范例

    ### Web Service开发范例 #### 1.1 WebService开发示例 在现代软件开发领域,...此外,随着技术的发展,现代Web开发更多地转向了RESTful架构和微服务架构,但理解传统的SOAP-based WebServices仍然是非常有价值的。

    Webserver开发指南

    - 使用Axis进行开发涉及多个步骤,包括创建服务接口和实现、生成服务部署描述文件(如WSDD),然后通过Axis工具部署服务到Web服务器。此外,还可以通过Ant或Maven构建工具自动化这个过程。 - Axis命令行工具提供了...

Global site tag (gtag.js) - Google Analytics