无聊人士
搬家==》
www.soapui.cn
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
32 随笔 :: 0 文章 :: 60 评论 :: 0 Trackbacks
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
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
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(10)
给我留言
查看公开留言
查看私人留言
随笔分类
Database(1)
(rss)
Groovy(2)
(rss)
Hibernate(3)
(rss)
iBatis
(rss)
O/R Broker(3)
(rss)
Others(7)
(rss)
Spring(1)
(rss)
WebWork、Struts2、FreeMarker(7)
(rss)
报表(Birt、crystal。。)(5)
(rss)
系统管理(7)
(rss)
随笔档案
2007年4月 (4)
2007年3月 (1)
2006年11月 (2)
2006年10月 (4)
2006年9月 (3)
2006年8月 (1)
2006年5月 (1)
2006年3月 (1)
2006年2月 (2)
2005年12月 (5)
2005年11月 (8)
BLOG
(郁也风)一地鸡毛
(rss)
(郁也风)重拾技术的乐趣
Fantasy Soft
(rss)
java in my life
(rss)
jboss rules
Java自由人
(rss)
KINGFISH和蜗牛的家
(rss)
scud(飞云小侠)
(rss)
Water Ye@ITO
(rss)
www.soapui.cn
(rss)
三十乱弹
(rss)
地狱男爵之博客无限
(rss)
差沙的密码 -- SSHWSFC's code
(rss)
成都心情(Full Speed)
(rss)
学而不思则罔,思而不学则殆。——《论语·为政》
江南白衣@ITO
(rss)
疯狂机器
(rss)
邢红瑞的blog
(rss)
LINK
BI立方体-商业智能社区
springside
(rss)
http://www.springside.org.cn
搜索
最新评论
1. re: hibernate.hbm2ddl.auto与import.sql
在classpath中扔一个/import.sql进 是什么意思啊
我的qq 1078435142
--ww
2. re: hibernate.hbm2ddl.auto与import.sql[未登录]
在classpath中扔一个/import.sql进 是什么意思啊
我的qq1450751458
--aaa
3. re: 刘冬文章“Java虚拟机的最大内存是多少 ”测试[未登录]
评论内容较长,点击标题查看
--Michael
4. 关于MXParserFactory异常
评论内容较长,点击标题查看
--qianyuanyuan
5. re: 利用birt2.1.2的IRunAndRenderTask.addScriptableJavaObject在birt中调用spring bea
怎样才能在Java类中得到birt参数的值啊
--ff
阅读排行榜
1. xfire 1.0 终于final了(11100)
2. 接触xfire(7731)
3. 刘冬文章“Java虚拟机的最大内存是多少 ”测试(6398)
4. 接触DWR(6394)
5. hibernate.hbm2ddl.auto与import.sql(5754)
评论排行榜
1. xfire 1.0 终于final了(13)
2. 接触xfire(12)
3. 接触DWR(8)
4. 刘冬文章“Java虚拟机的最大内存是多少 ”测试(5)
5. 在birt2.1.2中显示条形码(4)
接触xfire
白衣同志是个好同志,“刨虫”啊,俺现在用的O/R Broker就是白衣“刨”出来的!
今天准备睡觉,发现白衣同志blog上在推荐“
Web Service Framework:
XFire
”(
http://www.blogjava.net/calvin/archive/2005/12/04/22390.html
).嘿嘿,受够了axis,终于解放了。
xfire的user's guide做得很漂亮,俺这种E盲都能看个半懂。quick start看完,直接跳到spring一章,顺带拿手上的一个测试工程做测试,HelloXfire。
xfire 要加的包一大堆,guide上“Dependency Guide”这一章纯粹是在糊弄人,我的工程是webwork2.1.7(freemarker2.3.4)+spring1.2.5+ hibernate3.0.5+oracle8.1.7的东西,原来的jar不算,新加了一堆进去,最后所有的包加进来有19MB,晕啊!
antlr-2.7.5H3.jar
aopalliance.jar
asm.jar
asm-attrs.jar
cglib-nodep-2.1_2.jar
classes12.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-dbcp-1.2.1.jar
commons-fileupload.jar
commons-io-1.1.jar
commons-lang-2.1.jar
commons-logging.jar
commons-pool-1.2.jar
concurrent-1.3.4.jar
cos-multipart.jar
dom4j-1.6.jar
freemarker.jar
groovy-all-1.0-jsr-04.jar
hibernate3.jar
javamail-1.3.2.jar
jaxen-1.1-beta-8.jar
jdom-1.0.jar
jencrypt.jar
jta.jar
log4j-1.2.9.jar
lucene-1.4.3.jar
nls_charset12.jar
ognl.jar
oscache-2.2.jar
oscore.jar
quartz-1.5.0.jar
quartz-oracle-1.5.0.jar
quartz-weblogic-1.5.0.jar
spring.jar
spring-xwork-integration.jar
stax-1.1.2-dev.jar
stax-api-1.0.jar
stax-utils-snapshot-20040917.jar
velocity-dep.jar
webflow-2.1.7.jar
webwork-2.1.7.jar
webwork2-spring.jar
xfire-all-1.0-M6a.jar
xwork.jar
activation-1.0.2.jar
commons-beanutils-1.7.0.jar
wsdl4j-1.5.1.jar
user's guide上说得比较清楚,下载下来的zip里面也有一个spring的example。
首先是在web.xml中做配置,除了原来spring、webwork的,加上
1
<
context-param
>
2
<
param-name
>
contextConfigLocation
</
param-name
>
3
<
param-value
>
classpath:beans.xml,
classpath:org/codehaus/xfire/spring/xfire.xml
</
param-value
>
4
</
context-param
>
5
<
servlet
>
6
<
servlet-name
>
xfire
</
servlet-name
>
7
<
servlet-class
>
org.springframework.web.servlet.DispatcherServlet
</
servlet-class
>
8
</
servlet
>
9
<
servlet-mapping
>
10
<
servlet-name
>
xfire
</
servlet-name
>
11
<
url-pattern
>
/xfire/*
</
url-pattern
>
12
</
servlet-mapping
>
然后在WEB-INF下面放一个xfire-servlet.xml文件,实际上就是一个spring的配置文件
1
<?
xml version="1.0" encoding="UTF-8"
?>
2
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
3
<
beans
>
4
<!--
START SNIPPET: xfire
-->
5
<
bean
class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
6
<
property
name
="urlMap"
>
7
<
map
>
8
<
entry
key
="/echo"
value-ref
="echo"
/>
9
<
entry
key
="/HelloWorld"
value-ref
="HelloWorld"
/>
10
<
entry
key
="/AccountManager"
value-ref
="AccountManager-xfire"
/>
11
</
map
>
12
</
property
>
13
</
bean
>
14
<
bean
id
="echoBean"
class
="com.yninfo.rules.services.impl.EchoImpl"
/>
15
<!--
Declare a parent bean with all properties common to both services
-->
16
<
bean
id
="echo"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
17
<
property
name
="serviceFactory"
ref
="xfire.serviceFactory"
/>
18
<
property
name
="xfire"
ref
="xfire"
/>
19
<
property
name
="serviceBean"
ref
="echoBean"
/>
20
<
property
name
="serviceInterface"
value
="com.yninfo.rules.services.Echo"
/>
21
</
bean
>
22
<
bean
id
="HelloWorld"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
23
<
property
name
="serviceFactory"
ref
="xfire.serviceFactory"
/>
24
<
property
name
="xfire"
ref
="xfire"
/>
25
<
property
name
="serviceBean"
ref
="HelloService"
/>
26
<
property
name
="serviceInterface"
value
="com.yninfo.rules.services.HelloWorld"
/>
27
</
bean
>
28
<
bean
id
="AccountManager-xfire"
class
="org.codehaus.xfire.spring.remoting.XFireExporter"
>
29
<
property
name
="serviceFactory"
ref
="xfire.serviceFactory"
/>
30
<
property
name
="xfire"
ref
="xfire"
/>
31
<
property
name
="serviceBean"
ref
="AccountManager"
/>
32
<
property
name
="serviceInterface"
value
="com.yninfo.rules.services.AccountManager"
/>
33
</
bean
>
34
<!--
END SNIPPET: xfire
-->
35
</
beans
>
36
值得注意的是“serviceBean”,按user's guides上给的例子是“service”,结果是报错,大意说service这个属性没有setter。
1
public
class
ServiceBean
2
implements
InitializingBean, ApplicationContextAware
3
{
4
5
private
Object service;
6
/** */
/**
7
* Gets the object which backs this service.
8
*
@return
9
*/
10
public
Object getServiceBean()
11
{
12
return
service;
13
}
14
}
我做测试的三个例子,echo是抄xfire examples上的,HelloWorld是一个groovy的例子
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<
bean
id
="GroovyScriptFactory"
class
="org.springframework.beans.factory.script.groovy.GroovyScriptFactory"
>
<
property
name
="expirySeconds"
value
="20"
/>
</
bean
>
<
bean
id
="HelloService"
factory-bean
="GroovyScriptFactory"
factory-method
="create"
>
<
constructor-arg
index
="0"
value
="classpath:com/yninfo/rules/services/impl/HelloWorldImpl.groovy"
/>
</
bean
>
</
beans
>
而AccountManager,则是标准的spring+hibernate的东西。
1
<
bean
id
="AccountManager"
class
="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
>
2
<
property
name
="transactionManager"
ref
="TransactionManager"
/>
3
<
property
name
="transactionAttributes"
>
4
<
props
>
5
<
prop
key
="find*"
>
PROPAGATION_REQUIRED,readOnly
</
prop
>
6
<
prop
key
="load"
>
PROPAGATION_REQUIRED,readOnly
</
prop
>
7
<
prop
key
="*"
>
PROPAGATION_REQUIRED
</
prop
>
8
</
props
>
9
</
property
>
10
<
property
name
="target"
>
11
<
bean
class
="com.yninfo.rules.services.impl.AccountManagerImpl"
>
12
<
property
name
="accountDAO"
ref
="AccountDAO"
/>
13
</
bean
>
14
</
property
>
15
</
bean
>
配置完成后,启动tomcat,用
http://192.168.0.100:8080/rules/xfire/echo?wsdl
可以看到wsdl的描述。
在vs2005里面,建了个j#的工程(略)。。。
注:手误,把图覆盖了,只好全部删掉
posted on 2005-12-05 03:20
mmwy
阅读(7731)
评论(12)
编辑
收藏
所属分类:
Others
评论
#
re: 接触xfire
2005-12-05 09:27
mingo
感觉和burlap差不多
回复
更多评论
#
re: 接触xfire
2005-12-05 10:56
江南白衣@ITO
Spring的Refrence里Remoting 一章也加入了XFire,看来也是决定放低axis,和XFire暧昧了:)
回复
更多评论
#
re: 接触xfire
2006-03-10 23:05
Flier Lu
XFireExporter 这种方式太繁琐了,直接用 Java 5 annotation 或 commons-attributes 用起来舒服得多,只需要对服务接口做直接定义即可
/**
* Common Server Variables
*
* @@WebService(name = "ServerVariables", serviceName = "ServerVariables", targetNamespace = "
http://flier.yeah.net/"
)
* @@SOAPBinding(style = SOAPBindingAnnotation.STYLE_RPC)
*/
public interface ServerVariables
{
/**
* @@WebMethod(operationName = "GetMachineName", action="urn:GetMachineName")
* @@.return WebResult("machineName")
*/
string GetMachineName();
}
spring 中也仅需要增加对此 bean 得管理
<bean id="serverVariables" class="net.yeah.flier.ws.impl.ServerVariablesImpl" singleton="true">
所有的 dirty work 可以一次性配置进去
详细的说明可以参考我的一篇文章
使用 xfire 快速发布 WebService
http://www.blogjava.net/flier/archive/2006/03/10/34730.html
回复
更多评论
#
re: 接触xfire
2006-04-26 14:10
pc
再研究一下 收藏了
回复
更多评论
#
re: 接触xfire
2006-07-27 20:44
xx
你好,我运行xfire自带的bookservice例子咋老出这个错误呢?
java.lang.NullPointerException
at com.caucho.xml.QAttributedNode.getAttributeNodeNS(QAttributedNode.java:146)
at com.ibm.wsdl.util.xml.DOMUtils.getAttributeNS(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.printNamespaceDecl(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.printNamespaceDecl(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.print(Unknown Source)
at com.ibm.wsdl.util.xml.DOM2Writer.serializeAsXML(Unknown Source)
at com.ibm.wsdl.extensions.schema.SchemaSerializer.marshall(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printExtensibilityElements(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printTypes(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.printDefinition(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLWriterImpl.writeWSDL(Unknown Source)
at org.codehaus.xfire.wsdl11.builder.WSDLBuilder.write(WSDLBuilder.java:181)
at org.codehaus.xfire.wsdl11.builder.WSDLBuilderAdapter.write(WSDLBuilderAdapter.java:40)
at org.codehaus.xfire.DefaultXFire.generateWSDL(DefaultXFire.java:104)
at org.codehaus.xfire.transport.http.XFireServletController.generateWSDL(XFireServletController.java:325)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:116)
at org.codehaus.xfire.transport.http.XFireServlet.doGet(XFireServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:492)
at com.caucho.util.ThreadPool.run(ThreadPool.java:425)
at java.lang.Thread.run(Thread.java:536)
回复
更多评论
#
re: 接触xfire
2006-07-27 22:18
xx
上面是我发的,我刚刚调用webservice是成功的,但是在IE中输入:
http://localhost:8080/test/BookService?WSDL就出现上面的错误
。。。为啥?
回复
更多评论
#
re: 接触xfire
2006-07-27 22:19
xx
wsdl4j-1.5.2.jar 包也有,啥原因呢?
回复
更多评论
#
re: 接触xfire
2006-07-28 17:25
xx
我继续,把Resin换成tomcat就可以显示wsdl文件的内容了,resin的冲突?
回复
更多评论
#
re: 接触xfire
2006-07-29 01:32
mmwy
我也遇到过,在tomcat里面正常,扔resin下面,wsdl出不来,别的都正常。
回复
更多评论
#
re: 接触xfire
2006-09-03 21:43
bellone.wu
请教xfire有没有超时的机制呢...
burlap没有.soap 里有超时机制.
回复
更多评论
#
re: 接触xfire
2006-09-21 16:07
wmuu
今天试了下,wsdl出不来别的正常,半天没找到原因。最后把web.xml里头的log4j去掉就正常了。
回复
更多评论
#
re: 接触xfire
2006-12-08 15:12
hellen
我现在也有用oracle8.1.7和hibernate3做项目呢,我用的驱动就是oracle8.1.7下面的classes12.jar,可是在eclipse下数据库能连上,可是就是生不成hibernate文件,报这个错an error occurrend during generating artifacts
我在csdn上发贴了,麻烦你告诉我一下呗
http://community.csdn.net/Expert/topic/5215/5215576.xml?temp=.6507227
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
利用birt2.1.2的IRunAndRenderTask.addScriptableJavaObject在birt中调用spring bea
Birt 2.1.1中table row背景颜色交替显示
Birt 2.1.1 DataSet利用报表参数动态查询
xfire 1.0 终于final了
刘冬文章“Java虚拟机的最大内存是多少 ”测试
接触xfire
接触DWR
Powered by:
BlogJava
Copyright © mmwy