我使用的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

干杯 马库斯·约翰逊

有帮助吗?

解决方案

喜悦喔。我改变了服务作风裹,这似乎已经解决了这个问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top