xfire调用cfx发布的service报错问题

本文解决了一年前出现的xfire客户端调用cfx时遇到的参数错误问题。通过正确配置cfx发布的webservice注解,特别是@WebService和@WebMethod等注解中的targetNamespace属性,成功解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题应该是一年半前联调发现的,当时解决了就没再管了,昨天同事问起来,突然东西都没了,找了半天才找到,记录下

错误已经没了,大概就是xfire的客户端调用cfx的时候报参数之类的错误

解决方案如下:

cfx在发布webservice的时候需要写如下注解


@WebService(targetNamespace = "http://hello/",name = "IHelloWorldService", serviceName = "IHelloWorldService", endpointInterface = "hello.IHelloWorld")
public class HelloWorldImpl implements IHelloWorld {  
     @WebResult(name="return",targetNamespace="http://hello/")  
     @WebMethod  
    public String sendDocXmlToDealSystem1(@WebParam(name="name",targetNamespace = "http://hello/") String name,@WebParam(name="name",targetNamespace = "http://hello/")String flag) {   
      System.out.println("sayHello is called by " + name);   
      return "Hello " ;   
    }   
 }  

其中这个参数后面的targetNamespace必须得写的

没办法,之前有想去看xfire为啥会报错,后来翻了翻也没翻到具体的,大概就是xfire的客户端接收的东西和cfx服务器端返回的不咋匹配,同时建议别用xfire了,当时也是啥也不懂,感觉xfire的客户端好简单,直接引两个包就完了,后来才发现好多坑的,而且xfire都不维护了,大部分现在外面用的都是cfx,就跟随大流用cfx吧


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值