問題タブ [jax-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 - JAX-WS Web サービス内から ApplicationContext にアクセスするにはどうすればよいですか?
JAX-WS Web サービス内から ServletContext にアクセスするにはどうすればよいですか? に似ています。、これよりも簡単に applicationContext にアクセスする方法はありますか?
ant - WLS Ant タスクを使用して、ポリシー ファイルが含まれる EAR をどのように構築しますか?
私は Weblogic Server で JAX-WS を使用しており、Ant タスクを使用して、サーバーにデプロイできる EAR ファイルを作成しています。JAX-WS で動作する基本的な SOAP 呼び出しを取得しましたが、WS-Security を介してメッセージ レベルのセキュリティを追加しようとしています。
ドキュメントによると、Web サービスにセキュリティ ポリシーを追加するには 2 つの方法があります。1 つは、Java ソース自体にアノテーションを使用することですが、ポリシーが永久に設定されることを意味します。2 番目の方法は、ポリシー ファイルを EAR ファイルに追加し、管理者がデプロイ後の Web サービスのポリシーを設定できるようにすることです。
ドキュメントには、ポリシー ファイルを配置する必要がある場所が記載されていますが、Ant でビルドを行うときにこれらのポリシー ファイルを自動的に追加する方法については説明されていません。EAR をビルド/再デプロイするたびにポリシー ファイルを手動で追加するのは、テストで非常に面倒です。EAR ファイルを作成するために現在使用している Ant コードは次のとおりです。
ポリシー ファイルを含む EAR を適切な場所に自動的にビルドするにはどうすればよいですか? Java WAR ファイルの WEB-INF/policies に組み込むことに最も関心があります。ポリシー ファイルが手元にあり、ビルドする前にそれらを参照できると想定できます。
java - Java で .NET Web サービスを利用する最良の方法
JAX-WS を使用していくつかの .NET Web サービスを利用しようとしています。wsimport ツールを使用して Java クラスを生成しました。ただし、Java でこれらの (公開されていない独自の) Web サービスを使用しようとすると、C# の例でベンダーが提供するほとんどのメソッドとプロパティが、生成されたクラスで利用できないことに気付きました (エラーが発生していないにもかかわらず)。 WSDL ファイルから Java クラスを生成する場合)。Web サービスへの接続も基本的に機能します。
.NET SDK から wsdl.exe を使用して C# クラスを生成しようとしたところ、すべてのメソッドが適切に生成されました。
Java ですべての機能を利用できるように .NET Web サービスを利用する最善の方法は何でしょうか? wsimport が WSDL ファイルに記述されているすべてのメソッドとプロパティの小さなサブセットしか生成しないのはなぜですか?
例: WSDL ファイル UserManagement.wsdl にはスニペットがあります。
p>C# では、次のように UserSecurityContext にアクセスできます。
ただし、Java では UserManagement オブジェクトを作成できます。 p>ただし、生成された UserManagement オブジェクトには、アクセス可能なオブジェクト SecurityContext も、そのようなプライベート オブジェクトのゲッターまたはセッターもありません。
java - JAX-WS で生成されたコードから Web サービスにアクセスするときに、ホストとポートを指定するにはどうすればよいですか?
Web サービス用の WSDL ファイルがあります。JAX-WS/wsimport を使用して、Web サービスへのクライアント インターフェイスを生成しています。Web サービスが実行されるホストを前もって知りませんが、それがhttp://localhost:8080ではないことはほぼ保証できます。コマンドライン引数などから、実行時にホスト URL を指定するにはどうすればよいですか?
生成されたコンストラクターMyService(URL wsdlLocation, QName serviceName)
は私が望んでいるようには見えませんが、そうでしょうか? おそらくService.getPort(...)
?の変種の 1 つです。
ありがとう!
java - WS-Security および WS-Addressing を使用した JAX-WS Consuming Web サービス
ユーザー名トークン認証 (パスワード ダイジェスト、ナンス、タイムスタンプ) とタイムスタンプ検証を備えた WS-Security と SSL 経由の WS-Addressing を使用する JAX-WS (Metro) を使用して、スタンドアロンの Java Web サービス クライアントを開発しようとしています。
私が扱う必要のある WSDL には、セキュリティ ポリシー情報が定義されていません。WSDL にこの情報が含まれていない場合に、このヘッダー情報を追加する方法 (正しい方法) を正確に理解することができませんでした。Metro を使用して見つけたほとんどの例は、Netbeans を使用して WSDL からこれを自動的に生成することを中心に展開していますが、これはまったく役に立ちません。私は WSIT や XWSS などを調べましたが、明確さや方向性はあまりありませんでした。JBoss WS Metro もまだあまり運が良くないように見えました。
誰でもこれを行った経験があるか、このタスクを達成する方法について提案がありますか? 私を正しい方向に向けることさえ役に立ちます。Java ベースでなければならないということを除いて、私は特定の技術に制限されていません。
soap - Web サービスの応答は null ですが、SOAP メッセージの応答は有効です
私は WSDL の作成から始まる Web サービスを作成しています。wsimport を使用してサーバー側のスケルトン コードを生成してから、独自の実装クラスを作成しています。Axis2 サーバーで Web サービスを実行しています。soapUI を使用している場合、サービスとの間で送受信される SOAP メッセージは問題ないように見えますが、Web サービス クライアントを使用している場合、クライアント側のスタブで null を取得しています。これは名前空間の問題である可能性があると聞きましたが、何か問題があるようです。これが私の WSDL のコピーです。どんな助けでも大歓迎です。
java - サーブレット + JAX-WS
JAX-WS アノテーションを介して Web サービス メソッドを公開しようとしています。私が見た多くの例では、EndPoint.publish() メソッドを参照して、スタンドアロン アプリでサービスをすばやく立ち上げています (例: Java Web Services: Up and Running, 1st Edition):
}
私が見逃していることの 1 つは、本質的に同じことを既存のアプリで達成する方法です。これを処理するサーブレットを作成しますか? このサービスを既存の WAR ファイルで公開する適切な方法は何ですか?
wsdl - JAX-WS jar からの WSDL のロード
いくつかの機能 (バグ報告など) に SOAP サービスを利用するファット クライアントを作成しています。
JAX-WS は正常に動作していますが、デフォルトでは (少なくとも netbeans では)、サービスが初期化されるたびにリモート サーバーから WSDL をフェッチします。これがバージョン管理のサポートなどを提供するのに役立つことを期待していますが、それは私が望んでいるものではありません。
wsdllocation
引数を wsimport に追加して、生成されたクラスがローカル リソースを指すようにしました。次のスニペットは、ApplicationService.java から WSDL リソースをロードする URL です。
net/example/resources パッケージの jar 内に保存されているリソースを指すことに問題はないと確信しており、jar 自体は期待どおりに構築されています。ただし、サービスは読み込まれません...具体的には、ApplicationService.getPort(); を呼び出すと NullPointerException が発生します。
これは可能ですか?それともただのガチョウ追跡?
java - JAX-WS を使用して、サーバーがクライアントで Web サービス呼び出しを実行できるようにすることはできますか?
P2Pで遊んでいます。P2P ネットワーク内の通信にJAX-WS
を使用したいと考えています。
一部のピアは「ファイアウォールの内側」にあるため、ポートをリッスンできません。(彼らはクライアントとして行動します)。
他のピアはポートをリッスンできます。(サーバー (およびクライアント) として機能します)。
ここで、どのピアがサーバーで、どれがそうでないかを事実から抽象化できるようにしたいと考えています。そのため、ピアは相互に Web サービス コマンドを実行できなければならず、サーバー ピアとクライアント ピアの「能力」は等しくなければなりません。
「Webサービスのない世界」では、ソケットを開き、ソケットが開いた後、クライアントがサーバーと話すのと同じ方法でサーバーがクライアントと話すことができます(接続が開いたままになるため、両方向で等しく)。
しかし、JAX-WS は (ステートレス) HTTPに基づいており、「HTTP 接続」などはありません。
つまり、サーバーはクライアントを呼び出すことができませんでしたよね?
これを克服するために何ができるでしょうか?