- 浏览: 99821 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
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 7951) 在Action实现类方面的对比:Struts 1要求Ac ... -
ejb2.0 开发实例
2010-06-24 11:17 1686组件接口类 public interface Hello ... -
jssh
2009-08-07 23:57 0JAVA: List list=new ArrayList( ... -
flex
2009-07-10 08:53 795flex book pdf -
jbpm
2008-10-22 11:56 4326理解JBPM(java Business Proces ... -
cewolf
2008-10-20 11:02 995cewolf -
jfree itext
2008-10-20 11:01 893jfree itext 例子 lib -
J2ee 模式 Design Patten
2008-09-11 23:51 855什么是Design Patten? ... -
ssh
2008-09-06 10:48 3033昨天做的ssh例子拿出來晒晒!呵呵 web.xml: ... -
struts多模塊
2008-07-29 10:50 949Struts多模塊: struts是在第一次收到对action ...
相关推荐
Apache Web Services Axis2(1.4.1) 详细经典入门实例,使用Eclipse Axis Plug-in,图文并茂,一看就明。
web services Axis pdf 文件
改文档介绍了什么是webServices、webServices的协议、以及apache中webServices框架Axis2 的应用实例开发demo. 对于想学webServices的同学有很好的帮助。
NULL 博文链接:https://bei-jin-520.iteye.com/blog/1723039
Web Services资料大全,Web Services Axis CFX Soap 等资料。。。
包括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格式
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 ...
Axis2教程和java调用webservice的各种方法总结
Develop Web services with Axis2, Part 1_ Deploy and consume simple Web service.Develop Web services with Axis2, Part 1_ Deploy and consume simple Web service
用axis2开发web services 所需jar包
一、Axis的安装 <br/>应用Axis开发Web Services,你需要安装如下软件: 1.JDK1.4.2或以上 2.http://ws.apache.org/axis/dist/1_1/下载得到 3.一个支持Servlet的服务器引擎,比如广为人知的Tomcat。...
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开发WebServices客户端例子服务端例子 cxf开发WebServices客户端例子服务端例子
Entwickler Press - Java Web Services Mit Apache Axis2 有点老,但比较详细介绍了axis2的使用和基本概念。是一本入门的好书
用axis2开发Web Services,内容包括环境搭建,插件安装,以及用axis2开发Web Services的详细步骤及实例程序;
本项目是在实际开发调用webservices接口时的做的例子。使用Axis技术开发。 其中包含webservices开发,以及webservices调用。 运行项目后输入:http://localhost:8080/webserviceDemo/services/helloService?wsdl ...
Develop Web Services With Apache Axis
axis开发webservices.doc
java axis Webservices实例