0

Web サービス ベースの Web コンポーネントを開発しました。Web サービスを使用してサービスを公開しています。クライアントが応答結果でそのヘッダーを使用できるように、応答にヘッダーを追加したいと考えています。

私のWebサービスクラス..

@WebService()
public class FooService{

@WebMethod()
public String fooWebMethod(String input){
//----some code----
  return resultString;
 }

}

私のWebサービスクライアントクラス..

public class WebServInvoker { 
public static void main(String[] args) {
             FooServiceServiceLocator locator = new FooServiceServiceLocator();
             FooService wsClient = locator.getFooServicePort();
             wsClient.fooWebMethod("some string");

       }
}

Webサービスの応答でユーザーに追加情報を送信したいのですが、方法がわかりません助けてください

4

1 に答える 1

1

ハンドラーを追加します。以下のようにそれを行う1つの方法

@WebService()
@HandlerChain(file = "FooService-HandlerChain.xml")
public class FooService{
      //your code 
}

次に、ハンドラーファイル

<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
  <handler-chain>
  <service-name-pattern xmlns:ns1="yournamespacepattern">ns1:FooService</service-name-pattern>
  <handler>
     <handler-name>HandlerClassName</handler-name>
     <handler-class>packagename.HandlerClassName</handler-class>
  </handler>

そして、あなたのハンドラークラス

 public class HandlerClassName implements SOAPHandler<SOAPMessageContext>
 {
  public HandlerClassName () {
 }

public Set<QName> getHeaders(){
    return // set of headers;
}


public boolean handleMessage(SOAPMessageContext context)
{
     //handle message
}

}

于 2013-10-07T07:46:35.870 に答える