Webservice学习之——即时发布与定制发布

一、工具

myEclipse

tomcat  6.0 以上版本

axis-bin-1_4.zip

二、即时发布

1、解压 axis-bin-1_4.zip

2、axis-bin-1_4.zip\axis-1_4\webapps\axis     把axis发布到tomcat服务器下,及拷贝到webapps目录下

axis 为列子项目

3、启动tomcat,访问如下即发布sucess

List 就是发布的接口位置。

5、编写java 代码,,提供方法。如下

把HelloWs.java 文件,.java 改为.jws  即 HelloWs.jws   拷贝到tomcat 项目axis下,重启服务器。

public class HelloWs {
   public String Welcome(String name){
      String result= "Welcome to learning WebSerice"+name;
      return result;
   }
}

6、访问 HelloWs.jws 如下,即SUCESS

<?xml version="1.0" encoding="UTF-8"?>

-<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:intf="http://localhost:8080/axis/HelloWs.jws" xmlns:impl="http://localhost:8080/axis/HelloWs.jws" xmlns:apachesoap="http://xml.apache.org/xml-soap" targetNamespace="http://localhost:8080/axis/HelloWs.jws">

<!--WSDL created by Apache Axis version: 1.4 Built on Apr 22, 2006 (06:55:48 PDT)-->

-<wsdl:message name="WelcomeRequest">

<wsdl:part name="name" type="xsd:string"/>

</wsdl:message>

-<wsdl:message name="WelcomeResponse">

<wsdl:part name="WelcomeReturn" type="xsd:string"/>

</wsdl:message>

-<wsdl:portType name="HelloWs">

-<wsdl:operation name="Welcome" parameterOrder="name">

<wsdl:input name="WelcomeRequest" message="impl:WelcomeRequest"/>

<wsdl:output name="WelcomeResponse" message="impl:WelcomeResponse"/>

</wsdl:operation>

</wsdl:portType>

-<wsdl:binding name="HelloWsSoapBinding" type="impl:HelloWs">

<wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>

-<wsdl:operation name="Welcome">

<wsdlsoap:operation soapAction=""/>

-<wsdl:input name="WelcomeRequest">

<wsdlsoap:body use="encoded" namespace="http://DefaultNamespace" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</wsdl:input>

-<wsdl:output name="WelcomeResponse">

<wsdlsoap:body use="encoded" namespace="http://localhost:8080/axis/HelloWs.jws" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

-<wsdl:service name="HelloWsService">

-<wsdl:port name="HelloWs" binding="impl:HelloWsSoapBinding">

<wsdlsoap:address location="http://localhost:8080/axis/HelloWs.jws"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

wsdl文件代码

测试代码:

public static void main(String[] args) {
        //请求地址
        String  url="http://localhost:8080/axis/HelloWs.jws";
       //、创建服务
        Service service =new Service();
        try {
            //调用服务
            Call call=(Call) service.createCall();
            //服务地址
            call.setTargetEndpointAddress(url);
            //请求方法
            call.setOperationName(new QName(url,"Welcome"));
            //执行调用
            String result=(String) call.invoke(new Object[]{"  Mrwanggang"});
            System.out.println(result);
        } catch (ServiceException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

即时发布完成

二、定制发布(WSDD)

1、编写java代码,,即要发布的方法。

 public String Wel(String name){
        return "欢迎您: "+name;
     } 

2、把编译后的文件(带包路径)拷贝到 (本地服务器)apache-tomcat-7.0.42\webapps\axis\WEB-INF\classes下

3、修改server-config.wsdd文件 (server-config.wsdd  据了解这个文件需要先写自己的.wsdd文件,然后在Axis\web-inf\下执行命令生成的)

java  org.apache.axis.client.AdminClient*.wsdd  生成的。

写自己的.wsdd文件参照如下文件deploy.wsdd

重点关注

     <!--配置服务接口-->
     <service name="HelloWsdd" provider="java:RPC"> <!-- HelloWsdd 接口名称 -->
            <parameter name="className" value="com.wg.wsdd.HelloWsdd"/>   <!--接口文件位置-->
            <parameter name="allowedMethods" value="*"/>   <!--* 代表所有方法,也可单个指明,发布的方法-->
     </service>

<?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="adminPassword" value="admin"/>
         <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
         <parameter name="sendXsiTypes" value="true"/>
         <parameter name="sendMultiRefs" value="true"/>
         <parameter name="sendXMLDeclaration" value="true"/>
         <parameter name="axis.sendMinimizedElements" value="true"/>
         <requestFlow>
             <handler type="java:org.apache.axis.handlers.JWSHandler">
                 <parameter name="scope" value="session"/>
             </handler>
             <handler type="java:org.apache.axis.handlers.JWSHandler">
                 <parameter name="scope" value="request"/>
                 <parameter name="extension" value=".jwr"/>
             </handler>
         </requestFlow>
     </globalConfiguration>
     <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
     <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
     <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
     <!--配置服务接口-->
     <service name="HelloWsdd" provider="java:RPC">
            <parameter name="className" value="com.wg.wsdd.HelloWsdd"/>
            <parameter name="allowedMethods" value="*"/>   <!--* 代表所有方法,也可单个指明
            <beanMapping languageSpecificType="java:anni.Order" qname="ns1:Order" xmlns:ns1="BeanService"/>-->
       </service>

     <transport name="http">
         <requestFlow>
             <handler type="URLMapper"/>
             <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
         </requestFlow>
     </transport>
     <transport name="local">
         <responseFlow>
             <handler type="LocalResponder"/>
         </responseFlow>
     </transport>
</deployment>

3、拷贝  server-config.wsdd  到——>apache-tomcat-7.0.42\webapps\axis\WEB-INF 下即可。

4、重新启动服务器,访问 http://localhost:8080/axis/   点击 List  如下即是你发布的位置

5、测试代码

 */
    public static void main(String[] args) {
        //请求地址
        String  url="http://localhost:8080/axis/services/HelloWsdd";
       //、创建服务
        Service service =new Service();
        try {
            //调用服务
            Call call=(Call) service.createCall();
            //服务地址
            call.setTargetEndpointAddress(url);
            //请求方法
            call.setOperationName(new QName(url,"Wel"));
            //执行调用
            String result=(String) call.invoke(new Object[]{"Mrwangg"});
            System.out.println(result);
        } catch (ServiceException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

定制发布完成

时间: 2025-01-12 16:22:34

Webservice学习之——即时发布与定制发布的相关文章

使用WSDL发布WebService(第二部分)简单对象访问协议——学习SOAP语法和使用SOAP发布WSDL

使用WSDL发布WebService(第二部分)简单对象访问协议——学习SOAP语法和使用SOAP发布WSDL http://www.ibm.com/developerworks/cn/webservices/ws-intwsdl/part2/#Listing1

【Web学习日记】——在IIS上发布一个WebService

没有开发过程,只是发布过程 一.前提 开发使用的是VS2013 从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不容易找到一个,一定要记下来,方便以后查阅. 要把一个WebService发布到IIS,首先要安装IIS,网络上有很多安装IIS的教程,不再重复:第二步就是使用VS发布WebService:第三步就是在IIS上创建网站. 二.用VS2013发布WebService 用VS2013开发完成之后,在Web

JavaScript学习总结(四)——jQuery插件开发与发布

JavaScript学习总结(四)--jQuery插件开发与发布 目录 一.插件开发基础 1.1.$.extend 1.1.1.扩展属性或方法给jQuery 1.1.2.扩展对象 1.2.$.fn.extend 1.3.$.fn 二.插件开发 2.1.jQuery插件开发基本模式 2.2.获取上下文 2.3.第一个jQuery插件 2.4.链式编程 2.5.参数与默认值 2.5.1.默认值 2.5.2.参数对象 2.5.2.参数类型 2.6.命名空间与面向对象 2.7.插件与关联的CSS 2.8

VS2012 webservice的创建并在iis上发布,发布完后解决“测试窗体只能用于来自本地计算机的请求.”问题视频教程

VS2012 webservice的创建并在iis上发布,发布完后解决"测试窗体只能用于来自本地计算机的请求."问题视频教程 http://yunpan.cn/cZckwQc7FyFN9 访问密请下载查看  http://download.csdn.net/detail/u014180504/8503089 

ROS与Arduino学习(三)订阅与发布

ROS与Arduino学习(二)订阅与发布 Tutorial Level:HelloWorld Next Tutorial: 本节介绍如何在arduino中发布与订阅消息.他和ROS通过串口进行节点通信. Tips 1 订阅 ros::Subscriber<std_msgs::Empty> sub("WWWW",&hhhhh); 其中WWWW是话题的名称,hhhhh是收到消息后调用的函数函数名称.sub是实例化订阅对象的名字,也可以是别的名字. nh.subscri

WebService学习总结(三)——使用JDK开发WebService

WebService学习总结(三)——使用JDK开发WebService一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中)二.使用JDK开发WebService2.1.开发WebService服务器端 1.定义一个interface,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所有方法,如下所示:复制代码 1 package me.g

[Python]webservice 学习(1) -- 简单服务和调用

由于项目中需要用到webservice来做接口,于是花点时间先做知识储备. 开始的时候觉着这个webservice就是一个http请求啊,服务端监听,客户端发送xml报文,然后解析下发送了什么内容,返回响应的数据. 这是百度百科对webservice的定义,一般使用wsdl来描述服务. 后来我的误区就是 wsdl的xml  和 用http 请求组成的xml也就是用soap来请求webservice, 这两种xml为啥不一样... 困惑: 看了些资料以后才明白,wsdl就是你发布的webservi

webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲解SpringMVC+CXF环境下,怎么调用其他系统通过webService方式暴露出来的接口 ① 为避免怀疑同一个项目中调用本项目的接口,这里我新打开一个eclipse通过最原始的方式发布了一个webservice并启动保证可以被访问 打开浏览器确认可以被访问 ②进入CXF/bin 利用wsdl2

金丝雀发布、滚动发布、蓝绿发布到底有什么差别?关键点是什么?

金丝雀发布.滚动发布.蓝绿发布到底有什么差别?关键点是什么? ? 根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异.技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节. ? 作为技术人员,大家可能听说过"滚动发布"和"蓝绿发布"等术语,但是很多人并不清楚这些术语背后的原理.本文试图总结当前主流的发布策略,每个的优劣,适用性,让开发人员特别是架构师对现代发布技术有一个更为清晰全面的认识,让