問題タブ [java-metro-framework]
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 - Metro での Eclipse RCP クラスローディングの問題
Eclipse RCP アプリケーション内からMetro ライブラリを使用して Web サービスを呼び出そうとしています。関連する Metro jar ( webservices-tools.jar
、webservices-rt.jar
、およびwebservices-api.jar
) をプラグインにバンドルし、メイン アプリケーション プラグインをこの新しい Metro プラグインに依存させました。
もディレクトリに追加しましたwebservices-api.jar
。$JAVA_HOME/jre/lib/endorsed
Metro の Web サイトによると、これは Java 1.6 で Metro を使用する場合に必要です。
Web サービスを呼び出すと、次のエラーが表示されます。
このクラスcom.sun.xml.ws.spi.ProviderImpl
はwebservices-rt.jar
、Metro プラグインの一部である にあります。さらに、アプリケーション プラグイン コードがこのクラスを正常にロードできることを確認したので、なぜロードjavax.xml.ws.spi.FactoryFinder
できないのかわかりません。
javax.xml.ws.spi.FactoryFinder
( jrewebservices-api.jar
の承認されたディレクトリに入れなければならなかった jar) にあるので、これは承認されたコードが Eclipse プラグインからクラスをロードできないことに関係していると思われます。
承認されたディレクトリから JVM によってロードされたコードが、プラグインからクラスをロードできないということですか? これを有効にする方法はありますか?
Java バージョン: 1.6.0_16
Eclipse バージョン: Eclipse Java EE IDE for Web Developers ビルド ID: 20090920-1017 (それ以降のバージョンは表示されません)
Metro バージョン: Glassfish 2.1 に同梱
どんな助けでも大歓迎です。ありがとう。
java - Webサービスは同じアプリケーションサーバー内の別のWebサービスを呼び出すことができますか
Netbeans 6.5を使用してJAX-WSMetroサービスを生成し、Glassfish2.1をアプリケーションサーバーとして使用しています。
私が2つのWebサービスを持っていると仮定します。
..。
そして、私は両方を喜んで呼び出すWebサービスクライアント(Javaアプリケーション)を持っています。
ここで、メソッドXXXがメソッドYYYを呼び出すようにします。つまり、YYYのクライアントプロキシをWebサービスXXX内に配置する必要があります。
どうすればよいですか?
java - WebMethod パラメータを必須にする方法
Metro 1.5 スタックを使用して JAX-WS 2.0 Web サービスを作成するには、「Java から開始」アプローチを使用します。Web サービスの 1 つで SoapUI のような標準ツールを指定すると、WebMethods へのパラメーターがオプションであることを示します。生成された xsd は、minOccurs=0 を示しています。
「Java から開始」アプローチで WebMethod パラメータを必須にする方法が必要です (xsd ではおそらく minOccurs=1)。これにはJavaアノテーションがあると思いますが、見つけることができませんでした。XmlElement アノテーションには必須の属性がありますが、XmlElement を WebMethod パラメーターに適用することはできません。
xsd を手動で編集して minOccurs を 1 に設定する以外に、WebMethod パラメーターを必須にする方法はありますか?
java - Metro 1.5 と 2.0 の違いは何ですか?
私が取り組んでいる Web サービス クライアント プロジェクトで、Metro スタックが 2.0 バージョンでリリースされ、1.4 を使用していることに気付きました。ドキュメントは、プロジェクトに精通していない人にとってはあまり親しみやすいものではありません。
バージョン バンプの理由は何ですか。また、最新バージョンにアップグレードする価値はありますか?
java - JAXWS-RIから.NETWebサービス(WSE 3.0、WS-Security)を呼び出す
WS-Securityを使用している.NETWebサービスを呼び出す必要があるJAXWS-RIクライアントを作成しています。サービスのWSDLにはWS-Security情報が含まれていませんが、サービスの作成者からのSOAPメッセージの例があり、X:509トークンを含むwsse:Securityヘッダーを含める必要があることを知っています。
私は調査を行っており、AxisおよびCXF(Rampartおよび/またはWSS4Jと組み合わせて)からこのタイプのWebサービスを呼び出す例を見てきましたが、プレーンなJAXWS-RI自体の使用については何もありません。ただし、(残念ながら)政府のクライアントによるJAXWS-RIの使用には制約があります。JAXWS-RIからこれを行う例/ドキュメントはありますか?
最終的に、次のようなSOAPヘッダーを生成する必要があります。これは、サービスの作成者によって作成された.NETクライアントからのサンプルsoap:headerです。(注:独自の値を指定する必要がある場所に「VALUE_HERE」文字列を配置しました)
java - ログインとセッション処理で Java Web サービスを保護する方法
(Java メトロ) Web サービスをログインで保護したいと考えています。
これが私がそれを行うことを計画している方法です:
Web サービス メソッドを呼び出すときに必要な手順は次のとおりです。
- login(user,pwd) を呼び出し、セッション トークンを受け取る 1.1 トークンを記憶する
- サービスメソッドを呼び出す (トークン、引数 1、引数 2...)
- webservice は、トークンが既知であるかどうかをチェックし、そうでない場合は例外をスローし、それ以外の場合は続行します
- 非アクティブ状態が x 時間続いた後のログアウトまたはタイムアウト
私の質問: 1. このアプローチについてどう思いますか? それは理にかなっていますか?2.セッション処理を書く負担を負うライブラリはありますか(アプリの再起動後も存続するためにデータベースの永続性を備えている可能性があります)
(ソリューションはシンプルで、Java および .NET クライアントで簡単に使用できる必要があります)
ありがとう!
java - プロプライエタリ ソフトウェアで Glassfish ライブラリを使用する
CDDL + GPLv2 ライセンスに基づくプロプライエタリ ソフトウェアで Glassfish の一部を使用したいと考えています。私はそれをしてもいいですか?私はこれらのライブラリのコードを何も変更していないので、これで問題ないでしょうか、それとも私のソフトウェアは、これらのライブラリを使用しているため、依然として派生物と見なされているため、大きな問題はありませんか?
つまり、 http://jaxb.java.net/によると、JAXB も CDDL + GPLv2 の下にありますが、プロプライエタリ ソフトウェアで自由に使用できることはわかっています。これは、CDDL + GPLv2 が実際にそれを許可しているためですか、それとも JRE にバンドルされているときに別のライセンスで配布されているためですか?
java - Metro & StreamBuffer 名前空間エラー - これを正しく理解していますか?
すべて、私は (まだ) Java/Metro 2.0 から WSE 3.0 .NET Web サービスを呼び出すことに取り組んでいます。メッセージの本文とヘッダーを暗号化し、ヘッダーに署名するように、セキュリティ要件が設定されています。サービスにリクエストを送信して応答を受け取ることはできますが、Metro は署名を検証できず、WSIT コードからエラーをスローします。私は CVS から最新の WSIT コードを入手しました。これは、大失敗しているメソッドのコード スニペットです。
com.sun.xml.ws.security.opt.impl.incoming.GenericSecuredHeader から:
ご覧のとおり、そこには TODO があります。これは、メソッドが現在の状況を処理できないことを示していると思いますが、「範囲内」の名前空間が何を意味するのかわかりません。
以下は、壊れている Web サービス応答からの XML のスニペットです。
スタック トレース (以下に含まれる) では、参照 URI="#Id-46282a5d-c7fa-403c-8ac9-f7df0dfdb0cf" を検証できないと不平を言っています。 私がはっきりしていないのは、参照要素に名前空間属性または接頭辞がないために失敗しているのでしょうか? 親の Signature 要素から名前空間を継承することを許可する必要がありますか?それとも、StreamBuffer クラスがそれを処理できないようにすることはできますか?
対照的に、私の要求 (WSIT によって生成されたもの) からの同様の XML スニペットを次に示します。ここで、ds プレフィックスは
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
Metro がこれらのブロックを生成すると、すべてに名前空間プレフィックスが付きます。
まだここまで読んでいるなら - ありがとう!スタック トレースの一部を次に示します。
java - Google App Engine のメトロ Web サービス
GAE-Java で Metro Web サービスを実装しようとした人はいますか? http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engineには掲載されておらず、GAE がサポートしているかどうかを知りたい
java - Metro でローカルに schemaLocation を解決するために jax-ws-catalog.xml を取得した人はいますか?
schemaLocation をリモートではなくローカルで解決するために、.war ファイルに jax-ws-catalog.xml を追加しました。私はの例に従いました
Metro ユーザー ガイド: 2.10。ローカルにパッケージ化された WSDL を使用したクライアント アプリケーションの開発
.war をデプロイし、soapUI を使用して Web サービスを検証すると、schemaLocation にアクセスしようとしてスタックします。http://somehost:8080/CMDB/schemas/common/1.0/CMDBCommonTypes.xsd
スキーマと wsdl の両方が Eclipse で検証されます (Eclipse 用の XML カタログ ツールを使用)。(私の jax-ws-catalog.xml と関連する xsd および wsdl の内容が役立つ場合は投稿できます。
Google 検索では、jax-ws-catalog.xml が Metro スタックで機能しないという他の多くの問題が見つかりました。
Metro で動作するように jax-ws-catalog.xml を取得した人はいますか?