Web サービスを作成するために、Apache CXF コード ファースト アプローチを使用しています。ユーザー資格情報を渡すためのカスタム SOAP ヘッダーがあります。
@webparam アノテーションを使用して、SEI で usercredentials を渡そうとしています。
これらは Service クラスの 2 つの操作です。
@Path("/item/{id}")
@GET
public Item getItem(@PathParam("id") String id,
@WebParam(name="userDetails", header=true, mode=Mode.IN) UserDetails details) throws NotFoundException;
@Path("/name/{id}")
@GET
public Item getItemByName(@PathParam("id") String id,
@WebParam(name="userDetails", header=true, mode=Mode.IN) UserDetails details) throws NotFoundException;
wsdlの生成中に発音すると、次のエラーがスローされます
D:\workspace\myService\src\main\java\com\ws\api\ItemPublicationWebService.java:52: [xml] Web メソッドは、定義された Web メッセージ パーツの名前と同じ「userDetails」という名前のメッセージ パーツを定義しますD:\workspace\myService\src\main\java\com\ws\api\ItemPublicationWebService.java:41 にあります。注釈を使用して曖昧さをなくしてください。
webParam の名前を一意に保つと、wsdl が生成されることがわかりました。しかし、それは期待される結果ではありません。
ここで何が欠けていますか?