WebService的问题 - 方法都不会超过1个参数
-
13-09-2019 - |
题
我使用的IntelliJ IDEA 8和轴设置一个已部署在Tomcat5.5中web服务。生成的WSDL看起来像这样: http://track.priskick.se/Tracker.wsdl
一个方法被声明为
public void storeImpressionReport(int siteId, int adId, int zoneId, int count,
int excludeCount) { ... }
和暴露在web服务。接着,我建立使用Axis客户端(也爪哇),但作为一个运行时调用方法与参数0,0,0,0,0
制成,我得到这样的:
Tried to invoke method public void com.xxxxx.xxxx.xxxx.xxxxx.storeImpressionReport(int,int,int,int,int) with arguments java.lang.Integer,null,null,null,null. The arguments do not match the signature.; nested exception is: java.lang.IllegalArgumentException
减少的方法的参数的数量为1使得它的工作,然而,这感觉就像一个非常愚蠢的限制和奇怪的行为。请帮我,如果你知道什么可能是错在这里 - 我为什么不能公开的方法,让他们采取一个以上的参数?
=== UPDATE
我现在试图使用来自的IntelliJ而不是调用与?WSDL选项服务的生成的WSDL中客户机Java。此WSDL将保持正确的参数名称,也许是因为发电机具有访问源。现在,我得到
没有这样的操作“网站ID” AxisFault
这些是相关的文件: http://track.priskick.se/Tracker/TrackerSoapBindingStub.java http://track.priskick.se/Tracker/TrackerServiceTestCase.java http://track.priskick.se/Tracker/Tracker_PortType.java http://track.priskick.se/Tracker/TrackerService.java http://track.priskick.se/Tracker/TrackerServiceLocator.java
用于客户端的wsdl在发现 http://track.priskick.se/Tracker.wsdl
该服务在发现 http://stage.klikki.com/services/Tracker
干杯 马库斯·约翰逊
解决方案
喜悦喔。我改变了服务作风裹,这似乎已经解决了这个问题。