2

私は Web サービス開発の初心者です。Spring WS を使用して Web サービスを開発しています。リクエストに SOAP ヘッダーを追加する必要があるため、以下はクライアント側でリクエストにヘッダーを追加するコードです。

 getWebServiceTemplate()
                .sendSourceAndReceiveToResult(source, 
                    new WebServiceMessageCallback(){
                        public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException{
                            SaajSoapMessage soapMessage = (SaajSoapMessage) message;
                            SoapHeaderElement messageId =  soapMessage.getSoapHeader().addHeaderElement(new QName("http://www.w3.org/2005/08/addressing", "messageId", "wsa"));
                            messageId.setText("Test Security Token");
                        }
                },result);

サーバー側クラスのリクエストからこのヘッダーを取得するにはどうすればよいですか?

Eclipse Axis プラグインを使用して wsdl をクラス スケルトンに生成しました。Spring2を使用しています。

4

2 に答える 2

0

うーん、質問は、使用している Spring- WSのバージョンはどれですか? 追加したいヘッダーは WS-Addressing 仕様に属していますよね? Spring-WS も WS-Addressing を直接サポートしていることを知っています。Spring のサポートを可能な限り使用し、メッセージ ヘッダーに干渉しないようにすることをお勧めします (これも可能ですが)。

于 2013-04-22T13:32:02.983 に答える