关于CXF+Tomcat发布WebService问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于CXF+Tomcat发布WebService问题

落地花开啦 2016-05-26 15:47:25 1097

最近在学习WebService 想利用CXF+Tomcat+eclipse发布自己的报务。但遇到了下面错误,请高手指点迷津:
接口定义如下:

     @WebService 
    public interface SendMessageIntf {
    public void sendMessage(@WebParam(name = "to")String to, 
   @WebParam(name = "message")String message, 
   @WebParam(name = "serverIP")String serverIP) 
   throws ParseException,InvalidArgumentException, SipException;

}

实现类如下:

public class SendSipMessageImpl implements SipSendMessageIntf{ 
 public SipSendSipMessage(int x) 
 { 
  int y=0; 
  y=x+1; 
 } 
 @Override 
 public void sendMessage(String to, String message, String serverIP) 
   throws ParseException, InvalidArgumentException, SipException { 
 } 
}

问题如下:在实现类SendSipMessageImpl中如果带有参构造函数public SipSendSipMessage(int x)
{
int y=0;
y=x+1;
}
服务就不能正确发布,如果上面的有参构造函数改为无参构造函数public SipSendSipMessage()
{
int y=0;
y=y+1;
}
,服务就能正常发布。

请问这是为什么?谢谢!!!!!!

分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:16:22

    感觉把CXF和spring一起用会方便很多。
    CXF的类初始化很多情况下都是用的反射,而反射很多情况也是调用默认的,而这里你定义了一个带参数的构造方法,那么默认的那个不带参数的肯定就不存在了。那么反射也就无从调用了。你可以重载构造函数,定义两个就OK了。

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章