問題タブ [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 - SOAPと春
Manning Publications Co の Craig Walls による「Spring in Action」第 2 版で、Spring-WS を介した SOAP について読み終えたところです。彼らは、Spring のドキュメントと同様に、メッセージとメソッドを XML で作成し、Contract First について書いています。次に、それを XSD に変換してから WSDL に変換し、Spring でマーシャリングとサービス パスを配線します。
私は認めざるを得ません、私は確信していません。これが、たとえばサービス インターフェイスを作成し、そのインターフェイスに基づいてサービスを生成するよりも優れているのはなぜでしょうか? これは、Spring3 での REST @Controllers の定義に非常に近いものです。SpringでSOAP Webサービスを作成することで、このような道を進むオプションはありますか?
また、既存の Web サービスを複製したいと考えています。その WSDL があり、その代わりにサービスを配置できます。これはまったくお勧めですか?もしそうなら、推奨されるアプローチは何ですか?
乾杯
spring - Spring WS と PayloadRootAnnotationMethodEndpointMapping
注釈を使用する 2 つのエンドポイントがあります。それぞれに異なるインターセプターを適用したい。(1 つは安全なインターセプターで、もう 1 つは安全ではない) を使用してこれを行う方法はありPayloadRootAnnotationMethodEndpointMapping
ますか? 誰にもアイデアがありますか?
Spring に付属する航空会社の例の applicationContext-ws.xml によると、次のようになります。
エンドポイント マッピングは、リクエストからエンドポイントにマップします。に対してのみセキュリティ インターセプトが発生するようにするため、
GetFrequentFlyerMileageEndpoint
2 つのマッピングを定義します。
これを行う唯一の方法は、2 つの異なるマッピングを持つことorg.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping
ですorg.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping
。
java - シリアル化されたイメージを返すためのspring-wsコントラクトのXSDを定義するにはどうすればよいですか?
Spring-WSを使用して契約優先のWebアプリケーションを作成しようとしています。クライアントがパラメーターを指定せずに呼び出すことができる操作を定義し、サーバーから画面に描画できる画像を取得するだけです。
これを行う方法についての私の推測は、次のようなImageRequestXMLスニペットを定義することです。
そして、ImageResponseは次の行に沿って何かをスニペットします。
次に、これら2つの操作のXSDを作成し、Springの例に含めます。上記を行うにはどうすればよいですか?上で定義したXMLスニペットを取得したら、Trangを使用してXSDを生成することを計画していました。
助けてくれてありがとう。
java - ApacheCXFとカスタムヘッダーを使用したWebサービス
Apache cfxとspringを使用してWebサービスを作成しましたが、機能しますが、応答にこのヘッダーを含める必要があります
今のところ、反応はこんな感じです。
しかし、このようにする必要があります
これは、サービスを公開するSpringのBeanの構成です。
これはインターフェースです
何か案は ?
spring - Spring + SOAPExceptionImpl:マルチパートメッセージの保存中にエラーが発生しました
さまざまなWebサービスを呼び出して結果をjspページに表示するjspページを備えたSpringWebアプリケーションがあります。Spring Webアプリケーションには、ユーザー名/ログインのSpringセキュリティがアタッチされています。
セキュリティを処理するWebサービスへの呼び出しを追加しています。WebServiceGatewayには、セキュリティインターセプターを追加しました。(下記参照)
wss4jをpomファイルに追加すると、Webサービス側で次のエラーが発生します。
web-services - 方法:「?WSDL」スタイルのURLでWSDLファイルを公開するようにSpring-WSを構成しますか?
MuleESBを使用してWebサービスプロキシを構成しようとしています。
MuleのWSProxyServiceを使用してこれを実行しようとしていますが、対応するコードを(デバッガーで)ステップスルーした後、このクラスがエンドポイントアドレスを置き換えることは明らかです。
問題はSpringです-WSWSDLアドレスのスタイルはhttp://xxxx/xxxx.wsdlですが、WSProxyServiceはhttp:// xxxx / xxxx?wsdlまたはhttp:// xxxx / xxxx&wsdlを想定しています。リモートエンドポイントアドレスをローカルWSDLアドレスに置き換えます。疑問符でリモートWSDLアドレスを切り取ります。つまり、「?WSDL」は切り落とされることを目的としているため、検索語を作成します。しかし、Spring-WSのため、これは機能しません。
それを分解するには:
WSProxyServiceは最終的に使用しようとします
交換する
と
これは失敗します...実際のWebサービス呼び出しがプロキシ経由ではなく直接行われることになります。
誰かがこの問題に気づいた/解決したことがありますか?
乾杯、ダレン
java - JDK1.5 の Spring に沿った JAXWS コードの生成と実装
一連の WSDL (それぞれ独自の XSD を持つ) からソース コード スタブを生成しようとしています。これは問題なく実行でき、JDK1.6 で完全に動作しますが、JDK1.5 で動作する必要があります。
ソースコードを生成するために jaxws-maven-plugin を使用していますが、利用可能な wsimport バイナリに依存します (これは JDK1.5 では利用できません)。これに対する回避策が見つかり、ソース コードを生成できるようになりました。
最後の問題は、生成されたクライアント コードとのインターフェイスに JaxWsPortProxyFactoryBean を使用している Spring (2.5.6) でコンパイル済みのスタブ コードを使用しようとしたときに発生します。java.lang.NoClassDefFoundError: javax/xml/ws/soap/Addressing が発生します。その理由を調べたところ、javax.xml.ws/javax-api/2.1 の依存関係にこのクラスが含まれていないことがわかりました。バージョン番号を 2.1-1 にアップグレードしましたが、(ソース コードを生成するために) プロジェクトをビルドすると、次のエラーが発生します。
JAXWS クライアント スタブ コードを生成し、それを JaxWsPortProxyFactoryBean で動作させることができるように、だれかがこれに対する解決策を提供できますか?
前もって感謝します
ジョナサン
java - Java の Web サービス経由で大きなファイルをダウンロードする
ファイルのリポジトリであるWebアプリケーションがそこに座っています。この Web アプリケーションは、クライアントがリポジトリを検索し、SOAP を介して添付ファイルをダウンロードできるようにする Web サービスを提供します。
現在、MTOM で Spring-WS 1.5.8 を使用して添付ファイルをクライアントに送信しようとしましたが、メモリ不足エラーが発生し続けます。私のサーバーには 8 GB のメモリがあり、Tomcat がその 4 GB を使用するように構成しているため、これらのエラーが Tomcat 6 インスタンスに関連しているとは思いません。200MB ほどの小さなファイルでこれらのエラーが発生します。
SOAP を使用する必要がありますが、それはおそらく最善の方法ではありません。私はSpringでの解決策を望んでいますが、それが不可能な場合は、他のアイデアを受け入れます. AxiomSoapMessageFactory を使用して、アップロード目的でファイルをサーバーにストリーミングできることを読みましたが、その逆はできません。これは本当ですか?私はJava 6を使用しています。
Spring WS フレームワーク内で発生し続けるエラーは次のとおりです。
java - Jaxb2Marshaller とプリミティブ型
spring-ws で Jaxb2Marschaller を使用する場合、プリミティブまたは基本的な Java 型を使用して Web サービス操作を作成することは可能ですか? たとえば、次のようなメソッドです。
Maven jaxws プラグインを使用して、WSDL からインターフェースとモデル クラスを生成しています。Web サービスを呼び出そうとすると、次のエラーが発生します。
java.lang.IllegalStateException: エンドポイントのアダプターがありません [...]: エンドポイントは MessageHandler や PayloadEndpoint などのサポートされているインターフェイスを実装していますか
メソッドをそれに変更すると、次のことがわかりました。
呼び出すことはできますが、この署名は maven jaxws プラグインによって生成されたインターフェースと互換性がありません。
spring-ws を構成して最初の種類の実装を使用できるようにするか、maven jaxws プラグインにインターフェイスの 2 番目のバリアントを生成するように指示するにはどうすればよいですか?
更新: 関連する spring-ws 構成エントリは次のようになります。
web-services - spring-ws を使用して tomcat で利用可能な Web サービスを一覧表示する
Tomcat サーバーで利用可能なすべての Web サービスのリストを取得することは可能ですか?