- 浏览: 101502 次
- 性别:
- 来自: 武汉
-
文章分类
最新评论
-
yaerfeng1989:
jbpm代码下载:http://www.zuidaima.co ...
jbpm -
history1918:
密码在哪里?
JAVA虚拟机运行时分析 -
chunecai:
同上,感谢。
ext api chm -
zqb666kkk:
楼主下载 的资源 早起的版本 跟后来的版本 怎么都放出来啊 ...
ssh -
ericFang:
ONE:XSD和WSDL接口定义
XSD文件主要是定义请 ...
WebServices axis
客户端 远程对象 | | stub(存根) ---- 协议(soap/rmi-iiop/iiop...)--- skeleton(骨架) 对象序列化后传到我的JVM再把它转化成对象 序列化都要解压,效率低。 存根(STUB)代理,远程对象在客户端的代理。代理里面来封装访问细节,怎么压包,解压。 skeleton(骨架)解成JAVA对象,压缩, 分布通信,存根和骨架的通信。 是一个典型的代理。 异构系统整合,多语言开发,效率差。
使用Axis在Tomcat下发布Webservice有如下几个步骤:
(1)用JavaBean写好要发布的服务的定义
(2)使用Java2WSDL命令,根据JavaBean生成WSDL文件
(3)使用Wsdl2Java命令,根据WSDL文件生成服务端源代码,以及deploy.wsdd文件
(4)根据deploy.wsdd文件在tomcat下发布Webservice服务
deploy.bat
set axis_home=E:\java-tool\axis-bin-1_4\lib
set axis_path=%axis_home%\axis-ant.jar
set axis_path=%axis_path%;%axis_home%\axis.jar
set axis_path=%axis_path%;%axis_home%\commons-discovery-0.2.jar
set axis_path=%axis_path%;%axis_home%\commons-logging-1.0.4.jar
set axis_path=%axis_path%;%axis_home%\jaxrpc.jar;
set axis_path=%axis_path%;%axis_home%\log4j-1.2.8.jar
set axis_path=%axis_path%;%axis_home%\saaj.jar
set axis_path=%axis_path%;%axis_home%\wsdl4j-1.5.1.jar
set CLASSPATH=%CLASSPAHT%;%axis_path%
java org.apache.axis.client.AdminClient -l"http://localhost:9000/axis/services/UserManage" deploy.wsdd
java2wsdl.bat
java org.apache.axis.wsdl.Java2WSDL -n "urn:UserManage" -p"com.huawei.mtv.commons.services" "urn:UserManage" -o "UserManage.wsdl" -l "http://localhost:8080/axis/services/UserManage" com.huawei.mtv.commons.services.UserManage
wsdl2java.bat
java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true UserManage.wsdl
http://blog.csdn.net/zhangzhaokun/category/606327.aspx
- Web_Service_pdf.rar (1.2 MB)
- 下载次数: 40
评论
15 楼
ericFang
2012-02-24
ONE:XSD和WSDL接口定义
XSD文件主要是定义请求消息和响应消息格式,WSDL定义服务和操作;XSD和WSDL接口文档定义是用来利用axis2工具,自动生成服务端代码,做准备的。XSD,WSDL定义(采用XMLSPY工具进行定义);
TWO:服务端和客户端代码生成
生成服务端代码命令:
WSDL2Java -uri demo.wsdl -p com.test.ws.skeleton -d xmlbeans -s -ss -sd -ssi -o D:/serverSrc
生成客户端包代码命令:
WSDL2Java -uri demo.wsdl -p com.test.ws.skeleton -d xmlbeans -s -o D:/clientSrc
WSDL2Java命令参数说明:
-uri 指定*.wsdl文件,可以带具体路径;
-p 指定生成代码的包名
-d xmlbeans 使用不同的数据绑定方法;
-o 指定生成代码放置的路径;
-ss 表示要生成服务端代码;
-ssi 表示要生成代码中,先生成接口类,再生成实现类
Three:Ant工具打包
1 把生成的如下服务端代码拷贝到eclipse工程下
2 删除skeleton类(***ServiceSkeleton.java)
3 把客户端的stub类(***ServiceStub.java)拷贝到上面服务端代码src的(skeleton)目录下
4 编辑build.xml,在末尾加入下面target
<target if="jars.ok" name="build.aar" depends="compile.test">
<copy toDir="${classes}/META-INF" failonerror="false">
<fileset dir="${resources}">
<include name="services.xml"/>
<include name="*.xsd"/>
<include name="*.wsdl"/>
</fileset>
</copy>
<jar destfile="${lib}/${name}.aar">
<fileset dir="${classes}">
<include name="**/META-INF/*"/>
</fileset>
</jar>
</target>
<target depends="jar.client, build.aar" name="build.all"></target>
5 执行ant在build\lib下生成了两个包:服务端aar包,客户端jar包
XSD文件主要是定义请求消息和响应消息格式,WSDL定义服务和操作;XSD和WSDL接口文档定义是用来利用axis2工具,自动生成服务端代码,做准备的。XSD,WSDL定义(采用XMLSPY工具进行定义);
TWO:服务端和客户端代码生成
生成服务端代码命令:
WSDL2Java -uri demo.wsdl -p com.test.ws.skeleton -d xmlbeans -s -ss -sd -ssi -o D:/serverSrc
生成客户端包代码命令:
WSDL2Java -uri demo.wsdl -p com.test.ws.skeleton -d xmlbeans -s -o D:/clientSrc
WSDL2Java命令参数说明:
-uri 指定*.wsdl文件,可以带具体路径;
-p 指定生成代码的包名
-d xmlbeans 使用不同的数据绑定方法;
-o 指定生成代码放置的路径;
-ss 表示要生成服务端代码;
-ssi 表示要生成代码中,先生成接口类,再生成实现类
Three:Ant工具打包
1 把生成的如下服务端代码拷贝到eclipse工程下
2 删除skeleton类(***ServiceSkeleton.java)
3 把客户端的stub类(***ServiceStub.java)拷贝到上面服务端代码src的(skeleton)目录下
4 编辑build.xml,在末尾加入下面target
<target if="jars.ok" name="build.aar" depends="compile.test">
<copy toDir="${classes}/META-INF" failonerror="false">
<fileset dir="${resources}">
<include name="services.xml"/>
<include name="*.xsd"/>
<include name="*.wsdl"/>
</fileset>
</copy>
<jar destfile="${lib}/${name}.aar">
<fileset dir="${classes}">
<include name="**/META-INF/*"/>
</fileset>
</jar>
</target>
<target depends="jar.client, build.aar" name="build.all"></target>
5 执行ant在build\lib下生成了两个包:服务端aar包,客户端jar包
14 楼
ericFang
2010-07-31
http://www.iteye.com/topic/349784
13 楼
ericFang
2010-06-24
java -Djavax.net.ssl.keyStore=client.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=client.truststore com.hellking.study.webservice.AuthClient
java -Djavax.net.ssl.keyStore=client.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=client.truststore com.hellking.study.webservice.SSLAuthClient
java -Djavax.net.ssl.keyStore=client.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=client.truststore com.hellking.study.webservice.WSSClient
set SERVER_DN="CN=hellking-Server, OU=huayuan, O=huayuan, L=BEIJINGC, S=BEIJING, C=CN"
set KS_PASS=-storepass changeit
set KS_TYPE=-storetype JKS
set KEYINFO=-keyalg RSA
keytool -genkey -dname %SERVER_DN% %KS_PASS% %KS_TYPE% -keystore server.keystore %KEYINFO% -keypass changeit
java -Djavax.net.ssl.keyStore=client.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=client.truststore com.hellking.study.webservice.SSLAuthClient
java -Djavax.net.ssl.keyStore=client.keystore -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=client.truststore com.hellking.study.webservice.WSSClient
set SERVER_DN="CN=hellking-Server, OU=huayuan, O=huayuan, L=BEIJINGC, S=BEIJING, C=CN"
set KS_PASS=-storepass changeit
set KS_TYPE=-storetype JKS
set KEYINFO=-keyalg RSA
keytool -genkey -dname %SERVER_DN% %KS_PASS% %KS_TYPE% -keystore server.keystore %KEYINFO% -keypass changeit
12 楼
ericFang
2010-06-24
SOA是为了信息集成,而出现的一种新事物,它显然是超越的现有的一切技术,但是它又包含了所有的技术。SOA达到的一个目的就是面向服务,而这种面向服务的结果就是忽略任何与技术有关的东西,最终提供的都是服务接口。
其实我们还应该搞清楚面向对象和面向组件之间的区别,面向组件和面向服务的区别,SOA和web service之间的区别?
面向对象和面向组件的区别在于面向组件需要和传输协议及应用服务器的端口绑定,面向服务就是要进一步对面向组件解耦,所谓解耦就是将将业务组件和传输协议的端口解耦,既各种业务组件可以自由的绑定各种传输协议。 SOA和web service之间的区别是SOA是在web Service的基础上发展起来的,web service实现了松散耦合的服务和粗粒度的服务,但是web service本质上只是一个服务组件,它虽然采用的标准的协议,但是它是个应用服务器紧密相关的。
所以可以得出结论:SOA本身并非什么具体的技术,也不是什么架构,它是一种思想,它超越了现有的技术和架构,但是它又包含了现有技术和架构。运用这种思想要到达的目的就是做到业务和技术的完全分离,做到敏捷的、不受限制的信息集成。
其实我们还应该搞清楚面向对象和面向组件之间的区别,面向组件和面向服务的区别,SOA和web service之间的区别?
面向对象和面向组件的区别在于面向组件需要和传输协议及应用服务器的端口绑定,面向服务就是要进一步对面向组件解耦,所谓解耦就是将将业务组件和传输协议的端口解耦,既各种业务组件可以自由的绑定各种传输协议。 SOA和web service之间的区别是SOA是在web Service的基础上发展起来的,web service实现了松散耦合的服务和粗粒度的服务,但是web service本质上只是一个服务组件,它虽然采用的标准的协议,但是它是个应用服务器紧密相关的。
所以可以得出结论:SOA本身并非什么具体的技术,也不是什么架构,它是一种思想,它超越了现有的技术和架构,但是它又包含了现有技术和架构。运用这种思想要到达的目的就是做到业务和技术的完全分离,做到敏捷的、不受限制的信息集成。
11 楼
ericFang
2010-06-24
JMS
JMS呢,是实现java领域远程通信的一种手段和方法,基于JMS实现远程通信时和RPC是不同的,虽然可以做到RPC的效果,但因为不是从协议级别定义的,因此我们不认为JMS是个RPC协议,但它确实是个远程通信协议,在其他的语言体系中也存在着类似JMS的东西,可以统一的将这类机制称为消息机制,而消息机制呢,通常是高并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错(详细见ErLang论文)。
来看JMS中的一次远程通信的过程:
1、客户端将请求转化为符合JMS规定的Message;
2、通过JMS API将Message放入JMS Queue或Topic中;
3、如为JMS Queue,则发送中相应的目标Queue中,如为Topic,则发送给订阅了此Topic的JMS Queue。
4、处理端则通过轮训JMS Queue,来获取消息,接收到消息后根据JMS协议来解析Message并处理。
回答问题:
1、传输的标准格式是?
JMS规定的Message。
2、怎么样将请求转化为传输的流?
将参数信息放入Message中即可。
3、怎么接收和处理流?
轮训JMS Queue来接收Message,接收到后进行处理,处理完毕后仍然是以Message的方式放入Queue中发送或Multicast。
4、传输协议是?
不限。
基于JMS也是常用的实现远程异步调用的方法之一。
JMS呢,是实现java领域远程通信的一种手段和方法,基于JMS实现远程通信时和RPC是不同的,虽然可以做到RPC的效果,但因为不是从协议级别定义的,因此我们不认为JMS是个RPC协议,但它确实是个远程通信协议,在其他的语言体系中也存在着类似JMS的东西,可以统一的将这类机制称为消息机制,而消息机制呢,通常是高并发、分布式领域推荐的一种通信机制,这里的主要一个问题是容错(详细见ErLang论文)。
来看JMS中的一次远程通信的过程:
1、客户端将请求转化为符合JMS规定的Message;
2、通过JMS API将Message放入JMS Queue或Topic中;
3、如为JMS Queue,则发送中相应的目标Queue中,如为Topic,则发送给订阅了此Topic的JMS Queue。
4、处理端则通过轮训JMS Queue,来获取消息,接收到消息后根据JMS协议来解析Message并处理。
回答问题:
1、传输的标准格式是?
JMS规定的Message。
2、怎么样将请求转化为传输的流?
将参数信息放入Message中即可。
3、怎么接收和处理流?
轮训JMS Queue来接收Message,接收到后进行处理,处理完毕后仍然是以Message的方式放入Queue中发送或Multicast。
4、传输协议是?
不限。
基于JMS也是常用的实现远程异步调用的方法之一。
10 楼
ericFang
2010-06-24
CORBA
Common Object Request Broker Architecture (公用对象请求代理[调度]程序体系结构),是一组用来定义“分布式对象系统”的标准,由OMG(Object Menagement Group)作为发起和标准制定单位。CORBA的目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系统。
CORBA在我看来是个类似于SOA的体系架构,涵盖可选的远程通信协议,但其本身不能列入通信协议这里来讲,而且CORBA基本淘汰,再加上对CORBA也不怎么懂,在此就不进行阐述了。
Common Object Request Broker Architecture (公用对象请求代理[调度]程序体系结构),是一组用来定义“分布式对象系统”的标准,由OMG(Object Menagement Group)作为发起和标准制定单位。CORBA的目的是定义一套协议,符合这个协议的对象可以互相交互,不论它们是用什么样的语言写的,不论它们运行于什么样的机器和操作系统。
CORBA在我看来是个类似于SOA的体系架构,涵盖可选的远程通信协议,但其本身不能列入通信协议这里来讲,而且CORBA基本淘汰,再加上对CORBA也不怎么懂,在此就不进行阐述了。
9 楼
ericFang
2010-06-24
SOAP
SOAP原意为Simple Object Access Protocol,是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议,可以认为SOAP是XML RPC的高级版,两者的原理完全相同,都是http+XML,不同的仅在于两者定义的XML规范不同,SOAP也是Webservice采用的服务调用协议标准,因此在此就不多加阐述了。
SOAP原意为Simple Object Access Protocol,是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议,可以认为SOAP是XML RPC的高级版,两者的原理完全相同,都是http+XML,不同的仅在于两者定义的XML规范不同,SOAP也是Webservice采用的服务调用协议标准,因此在此就不多加阐述了。
8 楼
ericFang
2010-06-24
Binary-RPC
Binary-RPC看名字就知道和XML-RPC是差不多的了,不同之处仅在于传输的标准格式由XML转为了二进制的格式。
同样来回答问题:
1、传输的标准格式是?
标准格式的二进制文件。
2、怎么样将请求转化为传输的流?
将二进制格式文件转化为流。
3、怎么接收和处理流?
通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入XML中返回。
4、传输协议是?
Http。
Binary-RPC看名字就知道和XML-RPC是差不多的了,不同之处仅在于传输的标准格式由XML转为了二进制的格式。
同样来回答问题:
1、传输的标准格式是?
标准格式的二进制文件。
2、怎么样将请求转化为传输的流?
将二进制格式文件转化为流。
3、怎么接收和处理流?
通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入XML中返回。
4、传输协议是?
Http。
7 楼
ericFang
2010-06-24
XML-RPC
XML-RPC也是一种和RMI类似的远程调用的协议,它和RMI的不同之处在于它以标准的xml格式来定义请求的信息(请求的对象、方法、参数等),这样的好处是什么呢,就是在跨语言通讯的时候也可以使用。
来看下XML-RPC协议的一次远程通信过程:
1、客户端发起请求,按照XML-RPC协议将请求信息进行填充;
2、填充完毕后将xml转化为流,通过传输协议进行传输;
3、接收到在接收到流后转换为xml,按照XML-RPC协议获取请求的信息并进行处理;
4、处理完毕后将结果按照XML-RPC协议写入xml中并返回。
图示以上过程:
同样来回答问题:
1、传输的标准格式是?
标准格式的XML。
2、怎么样将请求转化为传输的流?
将XML转化为流。
3、怎么接收和处理流?
通过监听的端口获取到请求的流,转化为XML,并根据协议获取请求的信息,进行处理并将结果写入XML中返回。
4、传输协议是?
Http。
XML-RPC也是一种和RMI类似的远程调用的协议,它和RMI的不同之处在于它以标准的xml格式来定义请求的信息(请求的对象、方法、参数等),这样的好处是什么呢,就是在跨语言通讯的时候也可以使用。
来看下XML-RPC协议的一次远程通信过程:
1、客户端发起请求,按照XML-RPC协议将请求信息进行填充;
2、填充完毕后将xml转化为流,通过传输协议进行传输;
3、接收到在接收到流后转换为xml,按照XML-RPC协议获取请求的信息并进行处理;
4、处理完毕后将结果按照XML-RPC协议写入xml中并返回。
图示以上过程:
同样来回答问题:
1、传输的标准格式是?
标准格式的XML。
2、怎么样将请求转化为传输的流?
将XML转化为流。
3、怎么接收和处理流?
通过监听的端口获取到请求的流,转化为XML,并根据协议获取请求的信息,进行处理并将结果写入XML中返回。
4、传输协议是?
Http。
6 楼
ericFang
2010-06-24
来看下基于RMI的一次完整的远程通信过程的原理:
客户端发起请求,请求转交至RMI客户端的stub类;
stub类将请求的接口、方法、参数等信息进行序列化;
基于socket将序列化后的流传输至服务器端;
服务器端接收到流后转发至相应的skelton类;
skelton类将请求的信息反序列化后调用实际的处理类;
处理类处理完毕后将结果返回给skelton类;
Skelton类将结果序列化,通过socket将流传送给客户端的stub;
stub在接收到流后反序列化,将反序列化后的Java Object返回给调用者。
根据原理来回答下之前学习应用级协议带着的几个问题:
传输的标准格式是什么?
是Java ObjectStream。
怎么样将请求转化为传输的流?
基于Java串行化机制将请求的java object信息转化为流。
怎么接收和处理流?
根据采用的协议启动相应的监听端口,当有流进入后基于Java串行化机制将流进行反序列化,并根据RMI协议获取到相应的处理对象信息,进行调用并处理,处理完毕后的结果同样基于java串行化机制进行返回。
传输协议是?
Socket。
客户端发起请求,请求转交至RMI客户端的stub类;
stub类将请求的接口、方法、参数等信息进行序列化;
基于socket将序列化后的流传输至服务器端;
服务器端接收到流后转发至相应的skelton类;
skelton类将请求的信息反序列化后调用实际的处理类;
处理类处理完毕后将结果返回给skelton类;
Skelton类将结果序列化,通过socket将流传送给客户端的stub;
stub在接收到流后反序列化,将反序列化后的Java Object返回给调用者。
根据原理来回答下之前学习应用级协议带着的几个问题:
传输的标准格式是什么?
是Java ObjectStream。
怎么样将请求转化为传输的流?
基于Java串行化机制将请求的java object信息转化为流。
怎么接收和处理流?
根据采用的协议启动相应的监听端口,当有流进入后基于Java串行化机制将流进行反序列化,并根据RMI协议获取到相应的处理对象信息,进行调用并处理,处理完毕后的结果同样基于java串行化机制进行返回。
传输协议是?
Socket。
5 楼
ericFang
2010-06-21
http://blog.csdn.net/qsky001/archive/2009/08/20/4467934.aspx
4 楼
ericFang
2010-06-21
set axis_home=E:\java-tool\axis-bin-1_4\lib
set axis_path=%axis_home%\axis-ant.jar
set axis_path=%axis_path%;%axis_home%\axis.jar
set axis_path=%axis_path%;%axis_home%\commons-discovery-0.2.jar
set axis_path=%axis_path%;%axis_home%\commons-logging-1.0.4.jar
set axis_path=%axis_path%;%axis_home%\jaxrpc.jar;
set axis_path=%axis_path%;%axis_home%\log4j-1.2.8.jar
set axis_path=%axis_path%;%axis_home%\saaj.jar
set axis_path=%axis_path%;%axis_home%\wsdl4j-1.5.1.jar
set CLASSPATH=%CLASSPAHT%;%axis_path%
java org.apache.axis.wsdl.WSDL2Java -D -s -S true -d session c02spc100.wsdl -Nrm:soap=com.eric.soap.server -Nrm:type=com.eric.soap.vo
-D表示生成debug信息,-s表示生成webservice服务端代码,-S表示生成实现框架,-d session表示在生成的deploy.wsdd中指定服务的scope的属性为session,-N 表示在wsdl文件的名字空间和生成的JAVA包名间建立映射关系,-o表示生成的JAVA代码所放置的路径。
set axis_path=%axis_home%\axis-ant.jar
set axis_path=%axis_path%;%axis_home%\axis.jar
set axis_path=%axis_path%;%axis_home%\commons-discovery-0.2.jar
set axis_path=%axis_path%;%axis_home%\commons-logging-1.0.4.jar
set axis_path=%axis_path%;%axis_home%\jaxrpc.jar;
set axis_path=%axis_path%;%axis_home%\log4j-1.2.8.jar
set axis_path=%axis_path%;%axis_home%\saaj.jar
set axis_path=%axis_path%;%axis_home%\wsdl4j-1.5.1.jar
set CLASSPATH=%CLASSPAHT%;%axis_path%
java org.apache.axis.wsdl.WSDL2Java -D -s -S true -d session c02spc100.wsdl -Nrm:soap=com.eric.soap.server -Nrm:type=com.eric.soap.vo
-D表示生成debug信息,-s表示生成webservice服务端代码,-S表示生成实现框架,-d session表示在生成的deploy.wsdd中指定服务的scope的属性为session,-N 表示在wsdl文件的名字空间和生成的JAVA包名间建立映射关系,-o表示生成的JAVA代码所放置的路径。
3 楼
ericFang
2010-06-21
<wsdl:binding name="ScfPccSoapServiceEndpointPortSoapBinding"
type="impl:ScfPccSoapServiceEndpoint">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="addSubscriber">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addSubscriberRequest">
<wsdlsoap:body namespace="rm:soap" use="literal" />
</wsdl:input>
<wsdl:output name="addSubscriberResponse">
<wsdlsoap:body namespace="rm:soap" use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ScfMobileSoap">
<wsdl:port
binding="impl:ScfPccSoapServiceEndpointPortSoapBinding"
name="ScfPccSoapServiceEndpointPort">
<wsdlsoap:address
location="https://8.1.160.88:8080/axis/services/ScfPccSoapServiceEndpointPort" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
2 楼
ericFang
2010-06-21
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="rm:soap"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="rm:soap"
xmlns:intf="rm:soap" xmlns:tns1="rm:type"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Nov 25, 2008 (03:09:06 CST)-->
<wsdl:types>
<schema targetNamespace="rm:type"
xmlns="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="SAVP">
<sequence>
<element name="key" type="xsd:string" />
<element name="value" type="xsd:string" />
</sequence>
</complexType>
<complexType name="SPccSubscriber">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SSubscribedService">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SSubscriberQuota">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SInSubscriberParaVO">
<sequence>
<element name="subscriber" nillable="true"
type="tns1:SPccSubscriber" />
<element maxOccurs="unbounded" minOccurs="0"
name="deleteService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="modifyService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="addService" nillable="true" type="tns1:SSubscribedService" />
</sequence>
</complexType>
<complexType name="SReturnVO">
<sequence>
<element name="resultCode" type="xsd:int" />
<element maxOccurs="unbounded" minOccurs="0"
name="paras" nillable="true" type="tns1:SAVP" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscriber" nillable="true" type="tns1:SPccSubscriber" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscribedService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscriberQuota" nillable="true"
type="tns1:SSubscriberQuota" />
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="addSubscriberResponse">
<wsdl:part name="result" type="tns1:SReturnVO" />
</wsdl:message>
<wsdl:message name="addSubscriberRequest">
<wsdl:part name="inPara" type="tns1:SInSubscriberParaVO" />
</wsdl:message>
<wsdl:portType name="ScfPccSoapServiceEndpoint">
<wsdl:operation name="addSubscriber" parameterOrder="inPara">
<wsdl:input message="impl:addSubscriberRequest"
name="addSubscriberRequest" />
<wsdl:output message="impl:addSubscriberResponse"
name="addSubscriberResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:definitions targetNamespace="rm:soap"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="rm:soap"
xmlns:intf="rm:soap" xmlns:tns1="rm:type"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Nov 25, 2008 (03:09:06 CST)-->
<wsdl:types>
<schema targetNamespace="rm:type"
xmlns="http://www.w3.org/2001/XMLSchema">
<import
namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="SAVP">
<sequence>
<element name="key" type="xsd:string" />
<element name="value" type="xsd:string" />
</sequence>
</complexType>
<complexType name="SPccSubscriber">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SSubscribedService">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SSubscriberQuota">
<sequence>
<element maxOccurs="unbounded" name="attribute"
nillable="true" type="tns1:SAVP" />
</sequence>
</complexType>
<complexType name="SInSubscriberParaVO">
<sequence>
<element name="subscriber" nillable="true"
type="tns1:SPccSubscriber" />
<element maxOccurs="unbounded" minOccurs="0"
name="deleteService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="modifyService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="addService" nillable="true" type="tns1:SSubscribedService" />
</sequence>
</complexType>
<complexType name="SReturnVO">
<sequence>
<element name="resultCode" type="xsd:int" />
<element maxOccurs="unbounded" minOccurs="0"
name="paras" nillable="true" type="tns1:SAVP" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscriber" nillable="true" type="tns1:SPccSubscriber" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscribedService" nillable="true"
type="tns1:SSubscribedService" />
<element maxOccurs="unbounded" minOccurs="0"
name="subscriberQuota" nillable="true"
type="tns1:SSubscriberQuota" />
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="addSubscriberResponse">
<wsdl:part name="result" type="tns1:SReturnVO" />
</wsdl:message>
<wsdl:message name="addSubscriberRequest">
<wsdl:part name="inPara" type="tns1:SInSubscriberParaVO" />
</wsdl:message>
<wsdl:portType name="ScfPccSoapServiceEndpoint">
<wsdl:operation name="addSubscriber" parameterOrder="inPara">
<wsdl:input message="impl:addSubscriberRequest"
name="addSubscriberRequest" />
<wsdl:output message="impl:addSubscriberResponse"
name="addSubscriberResponse" />
</wsdl:operation>
</wsdl:portType>
1 楼
ericFang
2010-06-18
http://blog.csdn.net/zhangzhaokun/archive/2009/09/23/4582977.aspx
发表评论
-
struts2 与struts1区别
2011-11-22 21:16 8211) 在Action实现类方面的对比:Struts 1要求Ac ... -
ejb2.0 开发实例
2010-06-24 11:17 1723组件接口类 public interface Hello ... -
jssh
2009-08-07 23:57 0JAVA: List list=new ArrayList( ... -
flex
2009-07-10 08:53 821flex book pdf -
jbpm
2008-10-22 11:56 4350理解JBPM(java Business Proces ... -
cewolf
2008-10-20 11:02 1032cewolf -
jfree itext
2008-10-20 11:01 931jfree itext 例子 lib -
J2ee 模式 Design Patten
2008-09-11 23:51 892什么是Design Patten? ... -
ssh
2008-09-06 10:48 3063昨天做的ssh例子拿出來晒晒!呵呵 web.xml: ... -
struts多模塊
2008-07-29 10:50 989Struts多模塊: struts是在第一次收到对action ...
相关推荐
【Web Services Axis实现】 Web Services是一种基于互联网的、平台无关的分布式计算模型,它允许不同系统间的应用程序通过网络进行通信和交互。Axis是Apache软件基金会开发的一个开源工具,专门用于实现Web ...
### Web Services Axis2 技术解析 #### 一、引言 随着信息技术的快速发展,软件开发模式经历了从传统的独立应用程序到分布式计算再到Web服务的重要转变。Web服务作为现代分布式计算的一种重要形式,不仅解决了跨...
【标题】Web Services Axis 【Web服务Axis】是Apache软件基金会开发的一个开源工具包,它主要用来实现基于Java的Web服务。Axis使得开发者能够轻松地创建、部署和使用Web服务,它提供了对SOAP(简单对象访问协议)和...
Apache Axis2是Apache软件基金会开发的一个用于构建Web服务和实现Service-Oriented Architecture (SOA)的核心框架。本文将深入探讨Axis2 1.4.1版本的经典入门实例,通过Eclipse集成开发环境中的Axis2插件,帮助你...
- **JAX-WS(Java API for XML Web Services)**:Java平台的标准API,用于生成和消费Web服务。通过注解和接口,可以轻松地创建和调用Web服务。 - **Apache CXF**:一个开源框架,支持SOAP、RESTful等多种Web服务...
包括3本Axis2的书(英文),實為2本(第1本有...1.Developing Web Services with Apache CXF and Axis2, 3rd Edition 2.Packt.Publishing.Quickstart.Apache.Axis2 3.Develop Web Services With Apache Axis2 PDF格式
总结来说,"jonas-webservices-axis2-core-5.3.0-M6.zip" 提供了一个开源的Web服务解决方案,而tiles-dynamic示例则展示了如何使用Apache Tiles动态库来构建响应式和灵活的Java Web应用。对于Java Web开发者来说,这...
Chapter 1, Apache Web Services and Axis2 - Gives you an introduction to web services and the web service stack at Apache. Chapter 2, Looking inside Axis2 - Learn about Axis2 architecture and the ...
Axis支持JAX-RPC(Java API for XML-based RPC)规范,但随着JAX-WS(Java API for XML Web Services)的出现,Axis2应运而生,它提供了更现代的WebServices实现。 **CXF**,全称为CXF XFire eXtended,是另一个...
### AXIS与WebServices开发详解 #### 一、AXIS与WebServices概述 AXIS是由Apache组织提供的一个开源项目,主要用于构建、部署和调用Web Services。它基于Java平台,能够帮助开发者快速创建和发布Web Services,...
Extensive and detailed coverage of the enterprise ready Apache Axis2 Web Services / SOAP / WSDL engine. Attain a more flexible and extensible framework with the world class Axis2 architecture. Learn ...
### 应用Axis开发Web Services的关键知识点 #### 一、Axis的安装 1. **JDK版本要求**:为了能够顺利地安装与运行Axis,必须确保计算机上已安装了JDK1.4.2或更高版本。这是因为Axis依赖于较新的Java特性,较低版本...
在本文中,我们将深入探讨Web服务的核心技术,包括Axis、CXF和SOAP,以及如何使用Eclipse和Axis2来开发Web服务。 1. Web Services: Web服务是一种通过HTTP协议进行通信的API,它可以跨越不同的操作系统、编程语言...
- 在 `HelloWorld` 项目中创建一个名为 `com.webservices` 的包。 - 创建一个名为 `HelloWorld.java` 的类,包含一个返回字符串的方法 `getString`。 ```java package com.webservices; public class HelloWorld {...
AXIS是Apache软件基金会开发的一款开源工具,主要用于创建和使用Web Services。Eclipse的AXIS插件则为开发者提供了一种在集成开发环境中方便地构建、调试和部署Web Services的解决方案。本文将深入探讨AXIS插件在...
本项目是在实际开发调用webservices接口时的做的例子。使用Axis技术开发。 其中包含webservices开发,以及webservices调用。 运行项目后输入:http://localhost:8080/webserviceDemo/services/helloService?wsdl ...
### 使用Axis2开发Web服务 #### 引言 随着网络技术的发展,Web服务已经成为现代软件架构中的重要组成部分。本文将介绍如何使用Axis2部署并消费简单的Web服务,并为读者提供了一个全面了解Axis2新架构的机会。Axis2...
标题:"axis开发webservices" 描述:"这是关于axis开发webservices的完整资料" ### Axis与Web Services:构建SOAP Web服务 Axis是Apache软件基金会提供的一款开源工具,用于在Java环境中实现Web服务,支持SOAP...