0

私のWS-Interface:

@WebService
public interface WS{

    String decide(String word, MapWrapper parameters);

}

WrapperClassを使用:

public class MapWrapper {

    public HashMap<String, String> map;
}

from("cxf:http://localhost:8080/WS?serviceClass=ws.WS&dataFormat=POJO").to("stream:out"); //Just for testing purpose

SOAPUIで呼び出されると、次の例外が発生します。

Error during type conversion from type: org.apache.cxf.message.MessageContentsList to the required type: byte[] with value [Test, ws.WS@1221bc6] due argument type mismatch

MapWrapperクラスがこの例外を引き起こしたと思います。しかし、この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

同じ問題が何度も繰り返されます...

Webサービスとして公開するインターフェースで特定の構成を使用しないでください。Java私はについて取っていHashMapます。

Webサービスは、任意のプラットフォーム(OO以外のクライアントも含む)のコンポーネントを接続することを目的とした統合テクノロジーです。Webサービスで渡されるすべてのオブジェクトは、値転送オブジェクトである必要があります。複雑なビジネスオブジェクトなどではありません。

これは正しいアプローチであるだけでなく、コーディングおよびデプロイ中の問題が最も少ないアプローチです。

于 2013-02-16T20:24:58.637 に答える