WebService报错javax.xml.ws.soap.SOAPFaultException:Internal Error

公司项目有遇到这个问题,调用别人的接口。真是神tm Internal Error。这个问题百度都查不到。我可能是历史上唯一出现这个问题的女纸。
其实一般遇到这个问题,Internal Error内部错误,就是服务端那边接收你的参数,然后判断你的参数,不给通过,但是具体什么原因也没告诉你。
【解决办法】
对方给的示例代码中的参数写死的,运行没问题的,到项目上跑起来就报错了。于是我拿写死的参数和项目发送的参数作对比。还真是我参数传错了。
就是
//项目代码

public void func(){
 
  Item item  = new Item();
  String id  = "123";
  Date date = new Date();
  SimpleDateFormat format =  new SimpleDateFormat("yyyyMMddHHmmssSSS“);
  String timeStr =  format.format(date);
  String issue = timeStr.subString(14);
  item.setId(id);
  item.setTimeStr(timeStr);
  item.setIssue(issue);
  webService.send(item);
}
 

//对方给的示例代码

  Item item  = new Item();
  item.setId("123");
  item.setTimeStr("20210114183501");
  item.setIssue("20210114183501");
  webService.send(item);

发现问题了么?我的项目代码中timeStr的长度是多少?issue的长度是多少?
示例代码中给出的timeStr长度是14,issue和timeStr是一样的,长度也是14;
我的项目代码运行起来,timeStr是16位数,然后,我的issue给截掉了,是前面14位截掉了。。。所以issue的长度是3。。。
这怎么可能通得过?所以人家服务端给你报了内部错误!
于是我修改了一下代码,如下:

public void func(){
 
  Item item  = new Item();
  String id  = "123";
  Date date = new Date();
  SimpleDateFormat format =  new SimpleDateFormat("yyyyMMddHHmmssSSS“);
  String timeStr =  format.format(date).subString(0,14);
  String issue = timeStr;
  item.setId(id);
  item.setTimeStr(timeStr);
  item.setIssue(issue);
  webService.send(item);
}

如此,问题得以解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦虑的说说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值