2 geduo 83 geduo_83 于 2013.12.27 15:11 提问

axis2 客户端调用接口数据保存不了,这是怎么回事?报错如下

两个问题:
1. axis2 服务端数据类型为Timestamp,生成的客户端数据类型为Calendar,这就导致类型不匹配,保存数据的时候保存不了,这是怎么回事?报错如下,请大神们指点一下

2.服务端所抛出的异常客户端接收不到,怎么回事儿?

客户端调用如下:
public class Test {
public static void main(String[] args) {
HxcNews hxcNews = new HxcNews();
hxcNews.setTitle("bbb");
hxcNews.setContent("ccc");

hxcNews.setAddtime(Calendar.getInstance());
try {
HxcNewsServicePortType hxcNewsServicePortType = new HxcNewsServiceLocator().getHxcNewsServiceHttpSoap11Endpoint();
hxcNewsServicePortType.create(hxcNews);

} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

服务端如下(axis2+hibernate):
public class HxcNewsService extends Service implements IHxcNewsService {
@Override
public void create(HxcNews baseBean){
// TODO Auto-generated method stub
super.create(baseBean);

}

}

服务端报错如下:
[WARN] Unable to locate a BeanInfo cache for class java.sql.Timestamp (stopClass=null). This will negatively affect performance!
[ERROR] Exception occurred while trying to invoke service method create
org.apache.axis2.AxisFault: java.sql.Timestamp
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:47)
at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:412)
at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:461)
at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:818)
at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:737)
at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:646)
at org.apache.axis2.rpc.receivers.RPCUtil.processRequest(RPCUtil.java:153)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:206)
at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InstantiationException: java.sql.Timestamp
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:42)
... 26 more
[ERROR] org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method create

1个回答

laoyhi
laoyhi   2014.03.13 10:35

只能说Axis2不够健壮

geduo_83
geduo_83 只能说你也不是很懂
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
客户端axis调用cxf服务端webservice接口问题
客户端axis调用cxf服务端webservice接口问题 1,axis1调用cxf服务端webservice接口,客户端调用代码如下: param是入参,authMethodName是webservice接口定义的方法名 public static String callRemoteWebService(Object[] param, String authMethodName) thr
客户端调用axis2
1.新建一个项目作为axis2客户端。然后用eclipse自带的工具自动生成wsdl对应的java类,项目结构如图所示: 红框部分为根据WSDL自动生成的WebService代码,下面来讲解下这些类所代表的含义,这里首先建议不懂webservice的朋友先去看看WSDL,看看他的每个元素节点代表的意义,这样对应到java代码就好理解多了。 首先是MySecondAxisSrv.java,这个是
axis2客户端调用axis1服务接口
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", "com.ctc.wstx.stax.WstxInputFactory"); System.setProperty("javax.xml.stream.XMLOutputFactory", "com.ctc.wstx.stax.WstxOutputFactory"); System.setProperty("javax.xml.stream.XMLEventFactory", "com.ctc.wstx.stax.evt.WstxEventFactory");
axis2客户端调用免费的webservice服务的实例之一通过wsdl生成客户端程序并本地调用
步骤一         a:下载axis2-1.6.2-bin.zip,解压         b:在解压后的目录中找到wsdl2java.bat,我的目录是E:\axis2-1.6.2-bin\axis2-1.6.2\bin         c:配置axis2环境变量,新建AXIS2_HOME变量名,值为E:\axis2-1.6.2-bin\axis2-1.6.2
AXIS2 webservice客户端调用服务端的三种方式
第一RPC方式,不生成客户端代码 第二,document方式,不生成客户端代码 第三,用wsdl2java工具,生成客户端方式调用 Java代码   package samples.quickstart.client;      import javax.xml.namespace.QName;   import org.apache.axiom.om.O
使用Axis2解析wsdl生成Webservice客户端Java代码
直接用dos命令生成代码,不需要把axis2插件安装到eclipse或者idea中 最近做的大部分工作都是接口开发,之前做久了SAP的RFC接口模式的开发,Webservice的使用忘记了不少,所以记录一下,加深印象。 安装axis2(下载请移步Apache官网) 设置axis2的环境变量 (配置系统变量) 通过dos命令生成客户端程序 AXIS2_HOME = D:\Webservice
采用axis2方式Java客户端调用WCF服务端Web Service
首先确保WebService服务开启,如下图:
axis2发布web项目开发webservice和接口调用
axis2发布web项目开发webservice和客户端接口调用方法
webservice公共调用 客户端接口工具类 cfx axis2
package com.senyint.util;import java.rmi.RemoteException;import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.ServiceException;import org.apache.axiom.om.OMElement
java通过axis2调用SAP接口
java调用SAP接口