問題タブ [spring-ws]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring-ws エンドポイントで HTTP ヘッダーにアクセスするには?
Spring-ws エンドポイントで HTTP ヘッダーにアクセスするにはどうすればよいですか?
私のコードは次のようになります。
invokeInternal()
非整列化された JAXB オブジェクトのみをパラメーターとして取得します。内部のリクエストに付属する HTTP ヘッダーにアクセスするにはどうすればよいinvokeInternal()
ですか?
おそらく機能する1つの方法は、ヘッダー値をThreadLocal
変数に保存し、内部invokeInternal()
でアクセスするサーブレットフィルターを作成することですが、これを行うためのより良い、より春のような方法はありますか?
soap - Spring-WS のカスタム SOAP ヘッダーに子要素を追加する
Spring-WS で SOAP Web サービスを呼び出しています。問題の Web サービスでは、次に示すように、SOAP ヘッダーでいくつかの情報を渡す必要があります。
最上位の CustomHeaderElement を作成する方法はわかりましたが、Spring-WS API には子要素を追加できるものは何もありません。これが私がこれまでに持っているものです:
問題は、headerElement が実際に子を追加する手段を公開していないように見えることです。属性を追加できることはわかっていますが、それはこのサービス呼び出しに必要なものではありません。必要な子要素をカスタム ヘッダーに追加する方法を知っている人はいますか?
java - Springws-AxiomSoapMessageとMTOMの添付ファイルはインラインです
AxiomSoapMessageFactory
私はハンドルがどのように要求するか(本体とアタッチメント)を理解しようとしていますが、いくつかのポイントを理解していません(またはそれらはおそらく機能です)
私AxioSoapMessageFactory
はこのように使用しています:
ここにポイントがあります:
私はが含まれると思ったAxiomSoapMessage
:
- 私のリクエストのよう
SoapMessage
にaxiomMessage
プロパティで - プロパティの添付ファイル。これは、 ( )
attachments
のおかげで一時ディレクトリに保存されます。attachmentCaching=true
ただし、添付ファイルはインラインです。このスクリーンショットを参照してください
では、なぜアタッチメントはここのようにインラインなのですか?インターセプターには何が表示されますか?attachmentCaching
(上記を参照)がtrueに設定されている場合、添付ファイルをインラインにすることの利点は何ですか?
私は春のフォーラムでこれを尋ねるべきだと知っていますが、答えに関してはほとんど死にそうです。よろしくお願いします!
java - Spring がカスタム SOAP エラーを返す
Spring Webservices を使用して、サービスを Web サービスとして公開しています。Soap fault 要素を次のように定義しました
WSDLでこれを使用しています
そして、これを操作で使用します
しかし、エンドポイントでこの障害をスローしたい場合、どうすればよいでしょうか??
spring-mvc - Spring MVC と Spring WS を 1 つのアプリケーションで使用できますか?
基本的に、SOAP サービスと RESTful サービスの両方を公開するバックエンド アプリケーションがあります。
SOAP サービスには Spring WS 1.5.8 を使用し
、RESTful サービスには Spring MVC 3.0 を使用することにしました。これは新しい機能です。
Spring WS について少し読んだときに (私はこれが初めてです!)、Spring WS の web.xml で、フロント コントローラーである「MessageDispatcherServlet」を宣言する必要がありました。
Spring MVC の場合、web.xml で、フロント コントローラーでもある「DispatcherServlet」を宣言する必要があります。
両方のサーブレットに対して、web.xml に異なるサーブレット宣言があります。
つまり、私が持っているSpring WSの場合
Spring MVC (RESTful) の場合、私は持っています
したがって、2つの構成ファイルを使用する必要があります?? 1 つは springmvc-servlet.xml という名前で、もう 1 つは springsoap-servlet.xml という名前ですか?
これはできますか?
java - ResinおよびSpring-WSでのXMLスキーマドキュメントのロードに関する問題
Resin 3.0.25
XMLスキーマファイルをコンテナにロードしようとすると、次の例外が発生します。スキーマファイルは、XMLスキーマ名前空間(http://www.w3.org/2001/XMLSchema)以外の外部を参照しません。Jetty
XMLスキーマファイルは有効であり、コンテナを使用する場合もまったく同じコードが機能します。
Resinを実行しているマシンはインターネットにアクセスできず、Jettyを実行しているマシンはインターネットにアクセスできます。
このようなさまざまなXMLパーサーを試しましたが、効果がないようです。
この振る舞いの理由は何でしょうか?
編集:少し異なるスプリング構成で、このスタックトレースを取得しています
spring-ws - Spring Web サービスを使用してカスタム SOAP 障害メッセージを作成する方法
Spring Web サービス ライブラリを使用して Web サービスを作成しようとしています。エンドポイントを正常に構成でき、正常に動作していますが、例外マッピングに関するいくつかの問題に直面しています。
@SoapFault と SoapFaultAnnotationExceptionResolver を使用して例外をマップできますが、wsdl の定義は次のとおりです。
このサービス定義の例外処理を作成するにはどうすればよいですか?
ありがとうございました
java - Spring-WSを使用して例外をリターンコードに変換する方法は?
現在、Spring WS を使用してエラー コードとメッセージの問題に直面しています。
便宜上、JAXB2 バインディングと @Endpoint および @PayloadRoot アノテーションを備えた Spring WS 2.0 を使用しています。
エンドポイントは次のようになります。
XSD で定義された POX メッセージの薄いラッパーとしてのみ、soap を使用します。これは、エラーの代わりにリターン コードとメッセージを使用することも意味します。
各レスポンスは
次のように、成功した場合にいくつかの詳細を追加します。
handleMyPartメソッド内でスローされるすべての例外は、きれいにマップできます。
ただし、次の 2 種類のエラーは捕捉されず、明確なエラー メッセージではなくエラーが生成されます。
- XSD 検証エラー
- 不正な XML エラー
結局のところ、これらは Spring WS を使用するすべての POX Web サービスに関連する問題です。これらの例外をどのように傍受し、応答オブジェクトにマップする必要がありますか?
ただし、すべての応答オブジェクトは共通のものから継承するため、わずかに異なりますが、いくつかの独自のオプション コンテンツを追加します。
java - 「Webサービス資格情報」をWebサービスエンドポイントに渡すにはどうすればよいですか?
私にはPayloadRootQNameEndpointMapping
、認証をWss4jSecurityInterceptor
行うカスタムがあります。ここでの要件は、特定のユースケースを処理するために、 WebサービスCallbackHandler
のクレデンシャルまたは少なくともWebサービスに渡すことです。UsernameToken
どうすればこれを達成できますか?に何かをプッシュして、MessageContext
後でそこから戻すことは可能ですか?SoapMessage
または、 Anyヒントからそれらを取得できますか?
ありがとうございました。
java - Spring WS Client - Axis を使用せずに WSDL のマッピング POJO を作成する方法
Spring WS クライアントを作成しています。サードパーティ企業からの巨大なWSDL があります。これらは、Axis の WSDL2Java を介して WSDL にマップする一連のクラスを提供します。Axis やそれらからの依存関係を使用したくありません。
これは Web サービス クライアントであるため、任意のフレームワークを自由に選択できます。私の問題は、Axis の WSDL2Java を使用せずに WSDL のマッピング クラスを生成する方法です。純粋な XML の操作に行き詰まっていますか? Spring WS を使用していることに注意してください。
編集:
サービス プロバイダーが Axis 1 を使用してサービスを構築している場合、基本的に Axis 1 に基づいたクライアントを作成することに固執しているというのは本当ですか? この回答JAX-WS client with Axis serviceから読みました。Web サービスは、それが作成されたプラットフォームから切り離されているか、少なくとも独立していると考えられているため、Java ベースのクライアントから .Net ベースの Web サービスにアクセスしたり、その逆を行ったりすることができます。