当前位置: 代码迷 >> Web前端 >> 基于Axis开发WebService的一些有关问题及解决方案
  详细解决方案

基于Axis开发WebService的一些有关问题及解决方案

热度:117   发布时间:2012-09-08 10:48:07.0
基于Axis开发WebService的一些问题及解决方案

?

1.server-conig.wsdd中自定义Bean出错
描述:在从静态模块转到DEMO需要实现的业务逻辑时候,发现自动生成的webservice发布文件 server-config.wsdd有点问题,会出现如下错误提示
SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize

解决:将服务说明由
?<typeMapping qname="ns:PersionBean" xmlns:ns="http://example"???????????????????? languageSpecificType="java:com.realtech.demo.webservice.bean.PersionBean"???????????????????? serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"???????????????????? deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
???????????????????? encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
??? 修改成
<beanMapping qname="ns:PersionBean" xmlns:ns="http://example"???????????????????? languageSpecificType="java:com.realtech.demo.webservice.bean.PersionBean"??????????????????? />

区别:
typeMapping:需要自定义deserializer和serializer;
beanMapping:使用axis默认的deserializer和serializer

?

2.sqljdbc4.jar与sqljdbc.jar驱动程序与JRE运行环境问题
描述:从微软官网下载MSSqlServer2005驱动程序,将jdbc驱动加载进Demo系统后,在进行数据库连接初始化的时候,出现如下错误:
此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar 类库。

查看JAR 说明
1.sqljdbc.jar: 该类库提供对 JDBC 3.0 的支持。sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。
注意:
JDBC Driver 2.0 不支持 JRE 1.4。使用 JDBC Driver 2.0 时必须将 JRE 1.4 升级至 JRE 5.0 或更高版本。在某些情况下,您可能需要重新编译应用程序,因为它可能与 JDK 5.0 或更高版本不兼容。有关详细信息,请参阅 Sun Microsystems 网站上的文档。?
2.sqljdbc4.jar:? 该类库提供对 JDBC 4.0 的支持。它不仅包括 sqljdbc.jar 的所有功能,还包括新增的 JDBC 4.0 方法。sqljdbc4.jar 类库要求使用 6.0 或更高版本的 Java 运行时环境 (JRE)。在 JRE 1.4 或 5.0 上使用 sqljdbc4.jar 会引发异常。
注意:
如果应用程序必须在 JRE 6.0 上运行,即使该应用程序不使用 JDBC 4.0 功能,也应使用 sqljdbc4.jar。

解决方案:
Jdk环境为1.6的时候DB lib包应该只包括sqljdbc4.jar,为1.5的时候DB lib包应该只包括sqljdbc.jar;


3. Maven repository无项目所需lib包件处理
描述:
用Maven构建hibernate项目时,提示:Missing artifact javax.transaction:jta:jar:1.0.1B:compile,这是因为由于sun的许可协议,Maven repository中没有包含这个文件,类似的还有微软的Mssql2005 JDBC驱动sqljdbc4.jar,

解决方法:
在https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=7089-jta-1.0.1B-mr-class-oth-JSpec@CDS-CDS_Developer页面下载jta-1_0_1B-classes.zip;

运行
mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar

mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft? -DartifactId=sqljdbc4 -Dversion=2.0 -Dpackaging=jar
?

?4.按照官方文档无法在Idea10中安装Axis2插件
??? 描述:安装Axis2官方站点的Idea插件安装说明,在IDEA10界面无法显示图标与插件
解决:
修改解压后的axis2-idea-plugin-1.5.3\META-INF\plugin.xml文件,将
??? <!-- the IDEA build number which works with plugin -->
??? <idea-version since-build="2000"/>
??? idea的版本值改为你当前所用的版本,如Idea10为
??? <!-- the IDEA build number which works with plugin -->
??? <idea-version since-build="#IU-99.18"/>

?

  相关解决方案