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

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

web-services - "org.xml.sax.SAXParseException:ファイルの終わりが早すぎます。" スキーマの解析中

Linux JBoss 5.0.1 / JBossWS Native 3.1.1で実行されているWebサービスクライアントを作成しています。これは、Windows Tomcat 6.0.29 /MetroStackで実行されているサービスを呼び出しています。

WSDLと参照されるXSDファイルにはブラウザーからアクセスでき、私が作成したJUnitテストも問題なく機能します。しかし、クライアントがJBoss内で実行されている場合、次のスタックトレースが取得されます。

私が見つけたJBossWSWSDL実装をデバッグすることにより、参照されたXSDから作成されたInputStreamがnullであることがわかりました。これは通常、クライアントとサーバーの間に何らかのネットワークの問題(またはファイアウォール)があるという仮定を示しています。ユニットテストを同じマシンで実行しているので、これはすべて非常に混乱します。そのためではありません。

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

networking - Jax-ws java.net.ConnectException: 接続が拒否されました

JAX-WS (Metro) を使用して tomcat で実行されている Java クライアントから、glassfish で実行されている Web サービスに接続する際に、奇妙なネットワークの問題が発生しています。これがシナリオです...

  • 両方のサーバーがローカル マシンで実行されています。
  • 127.0.0.1 を使用して WS エンドポイントに接続するようにクライアントを構成すると、要求は正常に機能します。
  • 自分の IP アドレスを使用して WS エンドポイントに接続するようにクライアントを構成すると、すぐに java.net.ConnectException: 接続が拒否されました。ホスト名を使用すると、同じことが起こります。

奇妙なことに、SoapUI からエンドポイントにヒットした場合、127.0.0.1、IP アドレス、またはホスト名を使用すると、リクエストは正常に機能します。

これが私が得ている例外です...

任意の考えや指針をいただければ幸いです。

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

java - Metro 2.1 を使用する Tomcat 7.0.11 での WSServlet ClassNotFoundException エラー

Metro 2.1 を使用する Windows Server 2008 R2 で Tomcat 7.0.11 を使用して単純な Web サービスを作成しようとしています。私は C#/WCF のバックグラウンドから来て、Web サービスの相互運用性についてよりよく理解しようとしています。私は実際、Martin Kalin の著書「Java Web Services Up and Running」の例に従っています。私は次のものを持っています:

私が持っている catalina.properties ファイルに:

(注、このパスをcommon.loaderにも追加しようとしました)。

次の METRO jar ファイルを CALALINA_HOME\lib にコピーしました。

webservices-api.jar、webservices-extra.jar、webservices-extra-api.jar、webservices-rt.jar、webservices-tools.jar

そして CALALINA_HOME\endorsed へ:

webservices-api.jar

(注、最初はmetro-on-tomcat.xml antファイルを使用しようとしましたが、tomcat 7.*用に更新されていないようです)

また、webservices-api.jar を JAVA_HOME\jre\lib\endorsed にコピーしました

他の METRO jar も上記の場所に配置しようとしましたが、役に立ちませんでした。

これで、Tomcat が正常に起動し、METRO が正常に初期化されました。これは、catalina ログ ファイルの関連セクションです。

情報: Web アプリケーション ディレクトリをデプロイしています ROOT 18-May-2011 08:00:55 com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized 情報: WSSERVLET12: JAX-WS コンテキスト リスナーの初期化 18-May-2011 08: 2011 年 5 月 18 日:01:08 com.sun.xml.ws.transport.http.servlet.WSServletDelegate 情報: WSSERVLET14: JAX-WS サーブレットの初期化中

したがって、Tomcat がすべての METRO クラスをロードしたと考えることができます。私が集めたものから、WSServletはMETROの一部として出荷されているJAX-WS 2.1の一部であるため、ロードされているはずです。しかし、実際にサービスの WSDL を参照しようとすると、localhost ログに次のように表示されます。

SEVERE: org.apache の org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) のサーブレット TempConvertWS java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.WSServlet に例外を割り当てます。 catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415).... (残りのスタック トレース)

私の sun-jaxws.xml は次のようになります。

私のweb.xmlファイルの関連セクションは次のとおりです。

サービスを参照するときにTomcatがWSServletクラスを見つけてロードできない理由を誰でも見ることができますか?

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

web-services - OSGi + jettyでメトロWebサービスを実行するには?

OSGi (Felix) + Metro を使用して WebService (wsdl) を Jetty で動作させようとしていますか?

OSGi + Jetty で動作するサーブレットと JSP を取得しましたが、Metro を使用した WebService は動作しませんでした。テストするサンプルの OSGi WAR ファイルがあり、Glashfish にデプロイして動作しました。同じことを Jetty にデプロイする必要があります。

これに関するいくつかのサンプルまたは指示を共有してください。

ありがとうございました

ヴィベク

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

web-services - IISでMetroWebサービスを実行できますか?

Glassfishやtomcatではなく、IISサーバーでMETRO Webサービススタックを使用して作成されたWebサービスを実行できますか?

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

java - Metroの代わりにCXFを使用するにはどうすればよいですか?

MavenプロジェクトでMetro(JDK 6)の代わりにApache CXFを使用するにはどうすればよいですか?どの依存関係を使用する必要があり、どのファイルを作成する必要がありますMETA-INF/servicesか?CXFサイトでこの情報が見つかりません...

ps。これはJAX-WSクライアントであり、サーバーではありません。クライアントのみ。

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

java - Metro で厳密に型指定されたスキーマを生成する方法

いくつかのレガシー システムのサービスを説明する XSD があります (A24 と呼びましょう)。JAXB を使用してこの XSD を Java POJO に変換し、@WebServiceアノテーション付きの Web サービス クラスを生成します (これはテンプレートを使用してオンザフライで行われます)。Metro を使用して WAR ファイルを作成し、Web サービスをデプロイします。したがって、Web サービスはボトムアップ アプローチを使用して作成されます (最初に実装を記述します)。

Metro は、内部 JAXB を使用して Web サービスの WSDL と XSD を自動的に作成します。ただし、Metro によって生成される WSDL とスキーマには、文字列の長さなどの制限がありません。しかし、私の要件は、強力なデータ型検証をサポートできる Web サービスを作成することです。どうすればこれを達成できますか?

明らかな解決策の 1 つは、アプローチを変更して WSDL を最初に記述し、次に実装を記述することですが、最初に実装を記述し、検証ルールを含む WSDL + XSD を生成する方法はありますか?

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

xml - EclipseLinkのMOXyJAXB実装でJAXB2Basicsプラグインを使用できますか?そうでない場合、代替手段はありますか?

最終的には、JAXBでhashCodeとequalsの実装を生成する必要があります。JAXB2 Basicsプラグインはそれを行い、JDKのMetro JAXB実装では正常に機能しますが、MOXyでは失敗します。

私は得る:

java.lang.IllegalArgumentException at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:131)at org.eclipse.persistence.jaxb.JAXBBinder.updateXML(JAXBBinder.java:126)

それ以外の場合、MOXyは正常に機能します。つまり、equalsおよびhashCode生成コードを削除すれば、すべてが正常に機能します。

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

jboss - JBoss でメトロ Web サービス スタックを使用する際の問題

Metro 2.1 と JBoss 4.2.2 を併用しています。

アプリケーションはエラーなしでデプロイされますが、WebService にアクセスしようとすると、次のエラーが発生します。

問題は、Jboss がProviderImpl独自の Web サービス実装の をロードしようとすることです。代わりにProviderImpl、metro 実装の を使用する必要があります。

META-INF/services/javaw.xml.ws.spi.Provider構成しました: com.sun.xml.ws.spi.ProviderImpl.

Jboss がメトロスタックを使用しないのはなぜですか?

インゴ

完全なスタック トレース:

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

java-metro-framework - JavaWebServiceセキュリティ

JAX-WSを使用してJavaWebServiceを実装し、リクエスターがwebServiceを呼び出すときに、ユーザー名とパスワードでWebサービスを保護する必要があります。SOAPのヘッダーでユーザー名とパスワードを送信し、webserviceがこれを取得してユーザーを認証するソリューションが必要です。これを標準的な方法で実装するためのアイデアはありますか?


これで、soapヘッダーを使用してユーザー名とパスワードを送信できますが、SOAPヘッダーとコンテンツを暗号化するソリューションが必要です。この作業の標準的な方法はありますか?