本文已经同步发布到新博客:http://fengchenluoyu.duapp.com/
要调用已经发布的webservice服务,cxf有多种调用方式,现例举几种,留作参考!获取版本包和获取wsdl2java文件都可以通过官方网站apache cxf下载!

CXF 构建SOA应用
1、利用wadl2java生成客户端调用,此方法最符合面向对象原理!适用范围最广,只有wsdl文件,只拥有服务访问地址,不知道接口定义等都能够胜任。
首先生成客户端(window下生成):进入下载的cxf包的bin目录下,然后cmd到此目录下:
指令:
|
wsdl2java
-
p
com
.
zzzl
.
webservice
.
qidian
-
d
d
:
\
cxfoutput
\
-
all
(
wsdl文件名称,或者
wsdl访问路径
)
|
参数说明:
-p 也就是package 对应生成之后java文件中的包名称
-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径
-client 生成客户端测试web service的代码.
-server 生成服务器启动web service的代码.
-impl 生成web service的实现代码.
-ant 生成build.xml文件.
-all 生成上面-client -server -impl -ant 对应的所有文件.
生成之后 能够发现会在这个目录下生成一些*_client.java的文件,打开它,原来里面都是main方法,都给出示例了。这也是能够执行的方法,跑一下main写入正确的地址,能够访问到则表示调用成功了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
public
final
class
ThirdJoinPortType_ThirdJoinHttpEndpoint_Client
{
private
static
QName
SERVICE_NAME
=
new
QName
(
"http://ws.apache.org/axis2/services/SVCUserManager/"
,
"third_join"
)
;
ThirdJoinPortType_ThirdJoinHttpEndpoint_Client
(
)
{
}
@H_ 404_309@
void
main
(
String
args
[
]
)
throws
Exception
{
URL
wsdlURL
ThirdJoin
.
WSDL_LOCATION
;
if
(
args
.
length
>
0
)
{
File
wsdlFile
File
(
args
[
0
]
)
;
try
{
(
wsdlFile
.
exists
(
)
)
{
wsdlURL
wsdlFile
.
toURI
(
)
.
toURL
(
)
;
}
else
{
URL
(
args
[
0
]
)
;
}
}
catch
(
MalformedURLException
e
)
{
}
}
ThirdJoin
ss
ThirdJoin
(
wsdlURL
,224)!important">
SERVICE_NAME
)
;
ThirdJoinPortType
port
ss
.
getThirdJoinHttpEndpoint
(
)
;
{
System
.
out
.
println
(
"Invoking receive..."
)
;
java
.
lang
.
_receive_xmlData
""
;
_receive__return
port
.
receive
(
_receive_xmlData
)
;
"receive.result="
+
_receive__return
)
;
}
}
}
|
2、动态生成客户端方式(JaxWsDynamicclientFactory),适用于有webservice访问地址,并且知道接口定义.
说明:namespace 必须写上,获取位置为wsdl描叙文件 <wsdl:deFinitions 节点的 targetNamespace 属性值!
3、通过ClientProxyfactorybean生成动态生成服务的方式,适用自己发布自己调用,需要知道class和url方式。
以上为常用到的3种调用方式,本人不才,如果还有请大家不吝赐教!谢谢!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。