CXF+Tomcat发布WebService问题

发布于 2021-11-20 16:15:03 字数 1351 浏览 781 评论 3

本人是个新手,最近在学习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;
 }
,服务就能正常发布。

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

像你 2021-11-22 12:41:14

也谢谢你~你们两个人的回答都能帮我解决这个问题~

疾风者 2021-11-22 12:36:40

这个是java基础吧...当你只有有惨构造的时候,就没有了无惨构造,当反射的时候就麻烦点了...so保留无惨构造.

岁月打碎记忆 2021-11-22 12:01:23

感觉把CXF和spring一起用会方便很多。

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文