Webservice学习之——即时发布与定制发布
一、工具
myEclipse
tomcat 6.0 以上版本
二、即时发布
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();
- }
- }
定制发布完成
Webservice学习之——即时发布与定制发布的更多相关文章
- WebService学习之旅(三)JAX-WS与Spring整合发布WebService
Spring本身就提供了对JAX-WS的支持,有兴趣的读者可以研究下Spring的Spring-WS项目,项目地址: http://docs.spring.io/spring-ws/sites/1.5 ...
- WebService学习总结(六)--CXF 与Spring结合+tomcat发布
该项目在上文 WebService学习总结(四)--基于CXF的服务端开发 的基础上修改为spring上发布的webservice接口 1.新建web project 工程 2.导入spring ...
- WebService学习之旅(七)Axis2发布WebService的几种方式
前面几篇文章中简单的介绍了如何使用Axis2发布WebService及如何使用Axis2实现Web服务的客户端调用,本节將详细介绍Axis2发布WebService的几种方式. 一.使用aar包方式发 ...
- RabbitMQ学习总结 第四篇:发布/订阅 Publish/Subscribe
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- Java学习之道:Java项目打包发布
Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...
- Java WebService学习笔记 - Axis(一)
WebService 简介 实际开发中,很多系统都是基于历史遗留系统进行开发,有时,这些系统基于不同的语言,如C,C++,C#,java,PHP等等.为了实现历史系统的再利用,或向外部程序暴露调用接口 ...
- webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口
webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...
- 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念
wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...
随机推荐
- HW输入字符串长度,字符串,计数m。从前往后计数,当数到m个元素时,m个元素出列,同时将该元素赋值给m,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字。输出出队队列。
package huawei; import java.util.Scanner; public class 约瑟夫环 { private static class Node { public int ...
- HDU 2509
与HDU 1907一样... #include<cstdio> #include<cstring> #include<cstdlib> #include<io ...
- HW4.36
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- ubuntu glusterfs 配置调试
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqMAAADpCAIAAACfoakcAAAgAElEQVR4nO2d2XMjSX7f8c+sQ4GwHY
- POJ3107--Godfather(树的重心)
vector建图被卡了..改为链式前向星500ms过的..差了四倍多?... 表示不太会用链表建图啊..自己试着写的,没看模板..嗯..果然错了..落了一句话orz 树的重心就是找到一个树中一个点,其 ...
- IE-一根网线二台电脑上网
1 直连线 使用交叉线(橙白 橙 (蓝白) (绿 绿白) ( 蓝)宗白 棕) 2 如果主机原本是用ADSL拔号上网的话,就在主机的网络连接下的宽带连接右击属性>高级,在“Internet 连接共 ...
- Mysql常见问题及优化
本文将就以下三个问题进行展开: 1.库表设计 2.慢 SQL 问题 3.误操作.程序 bug 时怎么办 一.库表设计 1.1 引擎选择 在 mysql 5.1 中,引入了新的插件式存储引擎体系结构,允 ...
- 开发日志_Jan.8.2017
这两天继续着手开发碰撞部分. 主要工作是写碰撞类和运动线程类.碰撞主要在于算法,运动线程只要管理好就行了. 之前碰撞测试中(即还未添加完整碰撞算法时)遇到各种bug,疑似机器人和小球的定位点不明所造成 ...
- 关于python文件转为exe文件
一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序. py2e ...
- CALayer 的 position和anchorPoint属性
在iOS 中,UIButton.UIImage等UIView 之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer).通过UIView的layer 属性可以访问这个图层: @property ...