IntelliJ IDEA 8 と Axis を使用して、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 を使用してクライアント (Java も) をビルドしますが、パラメーターを使用してメソッドへのランタイム呼び出しを行うと、次の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 に減らすと機能しますが、これはかなりばかげた制限と奇妙な動作のように感じます。ここで何が間違っているのか知っているなら、私を助けてください - メソッドを公開して、それらに複数のパラメーターを持たせることができないのはなぜですか?
===更新
?wsdl オプションでサービスを呼び出す代わりに、IntelliJ から生成された wsdl を使用してクライアント Java を生成しようとしました。おそらくジェネレーターがソースにアクセスできるため、この wsdl は正しいパラメーター名を保持します。今私は得る
そのような操作はありません 'siteId' AxisFault
関連するファイルは次の とおり です 。 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にあります。
乾杯マーカス・ヨハンソン