Validator验证框架的内置标准验证

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JBoss4.2及JBoss5.0部署jax-ws2.0/2.1WebServices 一,部署jax-ws 2.0/2.1 POJO Web Service到JBoss4.2.2.GA

1:必须为你的POJO Web Service定义一个Servlet,并定义service的endpoint。

这意味着必须修改/增加两个文件:WEB-INF/web.xml;WEB-INF/sun-jaxws.xml (附文后)

2:最好将所需的jax-ws jars放到WEN-INF/lib里,免得将这些jar拷贝来拷贝去。

本人曾试了半天,拷来拷去,反正是搞不定。最后还是一古脑儿索性全放到WEB-

INF/lib里,倒是爽快:

WEB-INF/lib/jaxws-rt.jar

WEB-INF/lib/jaxws-tools.jar

WEB-INF/lib/log4j-1.2.8.jar

WEB-INF/lib/saaj-api.jar

WEB-INF/lib/saaj-impl.jar

WEB-INF/lib/sjsxp.jar

WEB-INF/lib/stax-ex.jar

WEB-INF/lib/streambuffer.jar

WEB-INF/lib/sxalan.jar

别问我到底哪个是哪个,都是干什么的。

二,部署jax-ws 2.0/2.1 POJO Web Service到JBoss5.0.0.GA

好像是去年,JBoss5面世了,根据其Release Note,它是“the final release of the JBoss 5.0 series for th e Java EE™5 codebase that fully complies with the Java EE 5 conformance testing certification requirements.” 但本人的试验结果却

是大失所望:如果将我们的web service打包成war部署到JBoss 5.0上,根本就不工作,问题多去了。为什么同样的 war部署在Glassfish上就运行良好呢?果真是“fully complies with the Java EE 5 ”?看起来并不那么“fully”。

JBoss5.0.0.GA的server classloader搜寻路径发生了一点变化。根据其Release Note的“指示”:“When running under Java 6 you need to manually copy the following libraries from the JBOSS_HOME/client directory to the

JBOSS_HOME/lib/endorsed directory, so that the JAX-WS 2.0 apis supported by JBossWS are used:

jbossws-native-saaj.jar

jbossws-native-jaxrpc.jar

jbossws-native-jaxws.jar

jbossws-native-jaxws-ext.jar ”

这个也无济于事。

最终,还得像部署在JBoss4.2.2.GA上一样进行部署。

总结:

1:将jax-ws 2.0/2.1 POJO web service部署得到JBoss4.2/5.0是一样费劲的。

2:基本上需要两步:一是要定义WEB-INF/web.xml 和 WEB-INF/sun-jaxws.xml;二是

要将所需的相关的 ws libs 放到war的本地classpath上。

3:还发现一个怪现象:@WebService attribute 是否附值与附哪些值,JBoss与Glassfish所由此产生的wsdl内容很不相同。这有点儿头痛。

Why JBoss then? 答案是我儿子的口头禅:“我也不知道!”。

附上相关文件:

{code}

----------------------- service interface: VodOptService ------------------

package com.vodws.service.opt;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebResult;

import javax.jws.WebService;

import javax.jws.soap.SOAPBinding;

import com.vodws.service.GetPersonRequest;

import com.vodws.service.GetPersonResponse;

@WebService

@SOAPBinding(

style = SOAPBinding.Style.DOCUMENT,

use = e.LITERAL,

parameterStyle=SOAPBinding.ParameterStyle.BARE

)

public interface VodOptService {

@WebMethod

@WebResult( name="getPersonResponse",

targetNamespace="/service",

partName="getPersonResponse" )

public GetPersonResponse getPerson( @WebParam(name="getPersonRequest", targetNamespace="/service",

相关文档
最新文档