webservice怪异问题,求高手解答

树成 2015-05-02 07:29:17

public static void main(String[] args)throws Exception {
Client c=new Client(new URL("http://10.192.89.238:8080/implatform/service/iTeAeSurveyFolwService?wsdl"));
c.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, "10000");
Object[] obj= new Object[]{"abcdefg",150};
System.out.println(obj.length);
c.invoke("startFlow",obj);
}

Exception in thread "main" org.codehaus.xfire.fault.XFireFault: null while invoking public int com.dci.ae.service.impl.TeAeSurveyFlowServiceImpl.startFlow(java.lang.String,int) with params [null, null].

很简单的代码,url检测可以访问,但是总是报这个错误,网上找很多地方似乎没有什么解决方案,不知道什么地方出了问题。
...全文
194 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
树成 2016-07-26
  • 打赏
  • 举报
回复
最后问题找出来了,但是没有解决,因为服务端的框架与客户端的框架不同而导致解析错误,这让我不明白webservice不是一套成熟的协议么?为什么各个框架之间存在这种问题?
tony4geek 2015-05-04
  • 打赏
  • 举报
回复
wsdl2 java 用这个方式看看
Ghost_520 2015-05-04
  • 打赏
  • 举报
回复
看报错说你的 WebService 接收到两个为 null 的参数, 看你调用代码处没什么问题, 你确定下你的 wsdl 的 url 两个参数是否 为 String,int 类型的, 一般的话 xfire 都是 String 类型的参数或者返回值 , int型一般需要封装一层,作为一个对象传送。 如果非要传 int 类型的话, 建议自定一个 DisInteger 类型, 然后传递这种类型的int 数据, 这样解析封装更好, 建议楼主将 参数类型修改为两个 String ,String 两个字符串类型在尝试。
yxfacw 2015-05-04
  • 打赏
  • 举报
回复
参数需要是string的类型 c.invoke("startFlow",new String[]{"abcdefg","150"});

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧