問題タブ [java-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.

0 投票する
1 に答える
95 参照

java - JAR ファイルと関連するパスを一覧表示する Java コマンド (Ruby の gem list -d に似ています)

Java TM API for XML Web Servicesでは、Java Endorsed Standards Override Mechanism を使用して、2 つの JAR ファイル (jaxws-api.jar および jaxb-api.jar) を JDK 6 の標準リリースに含まれているファイルに置き換えることが言及されています。

「公式」ディストリビューションに含まれているものではなく、これらの JAR が使用されていることを証明するコンソール コマンドはありますか? 理想的には、JAR 名とディレクトリを一覧表示します。

0 投票する
1 に答える
12205 参照

php - PHP に相当する Java Webservice Client UsernameToken

UsernameToken を認証メカニズムとして使用する Web サービスを PHP でビルドしています。この Web サービスにアクセスできる PHP クライアント側コードがあります。これを Java で行う必要があります。多分あなたは私を助けることができます!

このサービスには、次の php コードを使用してアクセスできます。

これらの値は、この SOAP ヘッダーに解析されます。

このコードを使用すると、問題なく Web サービスにアクセスできます。これを Java で行う必要があります。

必要なファイルを作成し、UsernameToken を使用して SOAP ヘッダーを追加するハンドラーを実装しました。しかし、WS にアクセスしようとすると、常に「認証されていません」というエラーが表示されます。passdigest または nonce エントリの作成中に何かが足りないと思います。

これが私がそれらを計算する方法です:

これらの値は、soap ヘッダーの作成中に使用されます。

結果の SOAP ヘッダーは次のようになります。

誰かが私が間違っていることを見ていますか?

0 投票する
2 に答える
4589 参照

java - JAXB2 に CamelCase バインディングを発行させるにはどうすればよいですか?

jaxws-maven-plugin のwsimportゴールを使用して、WSDL から Java クラスを生成しています。これはすぐに使用できるものであり、XML スキーマからおぞましいクラスとメソッドを生成します。たとえば、MY_OBJECT という名前の XML 要素から MYOBJECT というクラスを呼び出します。

外部ファイルを使用して JAXB2 バインディングをカスタマイズできることがわかりました。これは少数のクラスとメソッドでは許容されますが、この場合すべてに手動で名前を付けるオーバーヘッドは望ましくありません。

一部の検索では、XJC CamelCase Alwaysプラグインへの参照が明らかになりますが、これは維持されていないようで、ほとんどのリンクは 404 です。あきらめたくないので、この機能を提供しているように見えるキャメルケースを常に使用する Maven アーティファクトを見つけましたが、jaxws-maven-plugin がそれを使用するようにこれを構成する方法がわかりません。

すべてを手動で指定せずに CamelCase バインディングを取得するにはどうすればよいですか?

0 投票する
0 に答える
910 参照

wcf - Java クライアントから WCF Web サービスへ - 2d 配列パラメーターの最初の要素が削除される

アップデート

Java WCF クライアントによって生成された SOAP を投稿しました。WCF は正常に動作します。両方のクライアントを生成するために使用された WSDL からのメソッドのメッセージのスキーマも投稿しました。Java クライアントで使用される可能性のある問題の 1 つは、ArrayOfRequestParameter ではなく、外側の配列に ArrayOfArrayOfRequestParameter が必要なように見えることです。

クライアントは、wsimport ユーティリティを実行しているように見える eclispe によって生成されます。Java 側では、パラメーター requests には requests[0] と requests[1] の両方に 2 つの要素があることがわかりますが、サーバーは requests[0] に空の配列を取得し、requests[1] に 2 つの要素を取得します。これは、配列の境界がどのように解釈されるかに関係していると推測しています.WCFデータコントラクトで設定できる属性があるのでしょうか?

メソッドのシグネチャは次のとおりです。

RequestParameter のデータ コントラクトは次のとおりです。

これがWebサービス構成です

以下は、Java クライアントによって生成された SOAP 要求です。

これは、サーバーで正常に動作する WCF クライアントの SOAP です。

関数のメッセージを定義する wsdl の一部を次に示します。

0 投票する
2 に答える
2859 参照

java - JavaWebサービス用の永続的なシングルトンオブジェクト

おはようございます。

私は現在、ApacheTomcat7サーバーにデプロイされているJavaWebサービスプロジェクトに取り組んでいます。プロジェクトのニーズに応じて、グローバル(WSスレッド間で、すべてのリクエストによって作成される)オブジェクトをメモリに保持する必要があります。したがって、私は次のようにシングルトンデザインパターンを実装しようとしました。

リクエストが行われるたびに、新しいスレッドがWeb上に作成されるという事実を認識しています–サービスクラス(オブジェクト)。私の目標は、すべてのスレッドにグローバルなSingletonDesignオブジェクトを含めることです。これは、メモリ内で存続し、一度だけ作成されます。上記のデザインは私の期待どおりに機能しているように見えますが、それが正しいかどうかはよくわかりません。だからこれらは私の質問です:

1)SingletonDesignオブジェクトのメソッドを静的にする必要があるのはなぜですか?(私はそれらを非静的として定義しようとしましたが、私のシングルトンオブジェクトは正しく初期化されていません)。

2)上記のデザインは、シングルトンデザインパターンのウィキペディアページから見たものです。私を混乱させる部分は、他のシングルトン実装でも見た_instanceフィールドの初期化です。なぜそのオブジェクトが必要なのですか?

3)サーバーが停止するまで、オブジェクトは存続しますか?私はいくつかのテストを行いました、そしてそれは生きているようです、しかし私は100%確信している必要があります。

お手数をおかけしますが、よろしくお願いいたします。

0 投票する
0 に答える
969 参照

soap - Java WS ファイルアップロードサービス

現在、Java Web サービス プロジェクトに取り組んでいます。これは Apache Tomcat 7 サーバーにデプロイされており、ファイルをサーバーにアップロードするためのサービスを提供する必要があります。また、Web サービスは、Java を使用しない可能性のあるシステムでも使用できる必要があります。したがって、Web サービスをすべてのクライアント (つまり、C#、php など) で普遍的に利用できるようにする必要があります。Web を閲覧した後、多くの解決策を見つけましたが、前述の基準を満たす方法を説明しているものはありません。より具体的に言うと、Java の DataHandler など、広く受け入れられているデータ構造を指定するために不可欠であると参照されている MTOM および Java WS Annotations に出くわしました。私の Web サービスのサンプル コードを投稿させてください。

DataFileServer はアップロード操作を実行するクラスであり、Web サービス インターフェイスは次のようになります。

私の質問は、Web サービスに提供される DataHandler オブジェクトが正しいタイプになることをどのように保証するかということです。また、ファイルのアップロード操作のセキュリティとパフォーマンスを向上させる方法はありますか?

ありがとうございました

0 投票する
2 に答える
1493 参照

java - JAX-WS2.2およびJDK6とMaven

私はWebサービスを持っており、Endpoint.publish("http://0.0.0.0:8080")

これは、実行時にJAX-WS 2.0 and 2.1をスローする問題の影響を受けます。NullPointerExceptionendpoint.stop()

この問題はで修正されていますが、を使用しているため、公開2.2に依存関係を追加すると失敗します。pom.xmljava.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;java 1.6

endorsed回避策は、フォルダにいくつかのライブラリを追加することです。しかし、私はそれをすべてに詰めたいと思いますjar-with-dependencies。実行可能なJavajar。

これを言って、あなたが私を助けてくれれば私は感謝するでしょう:

また

編集:

要件は、成果物の瓶です。すべての依存関係をパックする単一のjar(これまでのところ2つ、約400k jar)。

しかし、それを機能させる唯一の方法が外部シェルスクリプトを追加することだと思うなら、私にも知らせてください。

ありがとうございました!

0 投票する
3 に答える
4599 参照

java - Java Web Startは、ブラウザで実行しているときにアプリケーションに引数を渡しません

JavaWebStartを使用して開始したJavaアプリケーションに引数を渡すのに問題があります。私のシステムはUbuntuLinux12.04.1 Preciseですが、Windows7でも同じことが起こります。どちらもOracleJavaバージョン1.7.0_09を使用しています。

編集:私は、WebStartアプリケーションが通常のアプレットよりも私たちのニーズに適しているかどうかを調査しています。アプレットの問題は、ユーザーがページから移動すると閉じられることです。これは、私たちが望んでいることではありません。(アプレットの代わりにWeb Startを使用して、特定のセキュリティ問題を回避できるかどうかにも関心があります。)認証されたユーザーに関する情報をに渡すことができるように、ブラウザーからアプリケーションを起動したいと思います。 Javaアプリケーション。ユーザーにアプリケーションへのログインを要求することは悪い解決策のようです(OAuthなどをサポートする必要があるかもしれません)。

私はサンプルプログラムCommandLineArgs.javaを持っています:

私はこれを瓶に詰めました:

次に、cmd.jnlpというJNLPファイルがあります。

これが私がテストに使用するHTMLページcmd.htmlです。div要素は元々deployjava.jsを使用して作成されました。deployJava.launchWebStartApplication('https://localhost:9876/cmd.jnlp')

httpsサーバーを実行するための最速の方法は、Linuxで一般的に見られるopensslツールを使用することでした。このようにサーバーを実行する場合、現在のディレクトリにはcmd.html、cmd.jar、およびcmd.jnlpが含まれている必要があります。

これで、ネットサーフィンすればhttps://localhost:9876/cmd.htmlアプリケーションを実行できます。Javaコンソールが開き、これが出力されます。コマンドライン引数が0であることに注意してください。

一方、コマンドライン(javaws cmd.jnlp)からjavawsを実行すると、これはjavaコンソールで取得されます。現在、3つのコマンドライン引数があります。

私は何か間違ったことをしていますか?ブラウザで実行しているときに、引数がプログラムに渡されないのはなぜですか?

同じ問題を説明しているように見える引数を散発的に無視するポストJavaWSアプリケーションを見つけました。posdefの解決策は、jnlpファイルのjnlp要素からhref属性を削除することでしたが、私にはその属性がありません。

0 投票する
4 に答える
8300 参照

c# - Web サービス - 操作がタイムアウトしました

私が取り組んでいるプロジェクトは次のとおりです。 データを暗号化する Java Web サービス (Des、3Des) を持っています。データは C# アプリケーションから送信されます。サイズが 1MB のファイルを暗号化/復号化したい。例外が発生します。

ファイルはバイト [] にビット形式で配置され、暗号化/復号化のために Java Web サービスに送信されます。Webサービスがそれを行った後、暗号化/復号化されたデータを送り返す必要があります。

小さなファイルでは問題ありませんが、サイズが 1MB 以上のファイルでは C# アプリケーションで例外がスローされ、エラーには次のメッセージが表示されます: WebException was unhandled: The operation has timed out

このエラーは、約 1 分 40 秒後にスローされます。

StackOverflow に関するさまざまな投稿を読みましたが、それらは常に WebRequest と WebResponse で動作するようです。私はそれを扱っていません。Webサービスを呼び出すために使用するコードは次のとおりです。

この問題を解決するために私にできることはありますか?

編集 app.config ファイルで次のようにセッション タイムアウトを増やそうとしました。

前もって感謝します

0 投票する
1 に答える
13582 参照

maven - 異なるディレクトリにあるXSDとWSDL

私の仕事では、コード生成にjaxws-maven-pluginを使用しました。「共通」と「クライアント」の2つのプロジェクトがあります。大まかに次のように構成します。

プロジェクト「common」のxsdを使用して、プロジェクト「client」のwsdlからクラスを生成するにはどうすればよいですか?

pom.xml: