Javaデスクトップアプリケーションを開発しており、その中にWebサービスを使用したいと考えています。 Webサービスは、binarysecuritytoken
を使用してメッセージレベルのセキュリティを備えた双方向SSL接続が必要です。 NetBeans IDE 6.9.1をJDK 1.6.0.23およびJAX-WSをwsラッパーとして使用しています。どのように私はクライアントマシン上の任意のWebサーバーを使用せずにwsと通信することができます。私が読んでいるもののほとんどは、クライアントマシン上でTomcatやその他のWebサーバーを持っている必要があります(Tomcatなどのキーストアを設定しています...)。それは可能ですか? JavaデスクトップアプリケーションのSSLベースのwsクライアントについては、いくつかの記事をお勧めします。使用するJavaSEでのWebサービスの利用JavaアプリケーションとSSLを使用したWebサービスクライアント
答えて
- あなたがサービスを呼び出す前に、プロパティを設定するNetBeans tutorial
使用BindingProvider
を参照してください。使用例を参照BindingProvider
here
を使用せずに、SSLで保護されたWebサービスを消費するためのJ2SEソリューションを必要とします?私はJAX-WSによって生成されたリクエスト/ポートに署名付きのSOAPHeaderを追加したいと思います。 jaxws-rtにはWSBindingProviderなどのBindingProvidorの拡張機能がありますが、J2EEコンテナも使用しています。 –
WebサービスがWSDLを公開すると、セキュリティ記述子が存在します。その後、wsimportを使用してWSDL文書からクライアント側の成果物を生成し、適切に構成します。 Netbeansを使用した簡単なチュートリアル(ここでは少し古いですが、そこにすべての概念があります)(http://netbeans.org/kb/docs/websvc/wsit.html)があります。 –
私が上記のメッセージレベルのセキュリティです。 SSLでポイントツーポイントを保護するだけの場合は、http://www.java-tips.org/java-ee-tips/java-api-for-xml-web-services/using-jaxを参照してください。 -ws-based-web-services-wit.html –
ここでは、WS over SSL http://ws.apache.org/xmlrpc/ssl.htmlを扱う2つの方法があります。
正しい方法は、SEソリューションとEEソリューションの両方にキーストアを設定して使用することです。
次の迅速な解決策は、私の作品:
package client;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.xml.namespace.QName;
import ws.MyService1;
import ws.MyService1ServiceLocator;
public class Client {
public static void main(String[] args) throws Exception {
test();
}
public static void test() throws Exception {
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
// Trust always
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
// Trust always
}
} };
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
// Create empty HostnameVerifier
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String arg0, SSLSession arg1) {
return true;
}
};
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(hv);
// use secured service
QName qname = new QName("http://ws", "MyService1Service");
String url = "https://127.0.0.1:7002/MyService/wsdl/MyService1.wsdl";
MyService1 service = new MyService1ServiceLocator(url, qname).getMyService1();
System.out.println(service.getMessage());
}
}
この解決策は、提供されたソリューションからすぐにわからないws.Myservice1とws.MyService1ServiceLocatorの実装に関するいくつかの詳細を提供することで改善できます。 –
非常に有用なおかげで –
- 1. SoapUIとJava Webサービスクライアント
- 2. JAX-WSを使用したAndroid Webサービスクライアント
- 3. Bing Webサービスクライアント(Java)
- 4. Java Webサービスクライアントのログインとログアウトページ
- 5. WebサービスクライアントとしてのNetbeansリッチクライアントプラットフォームRCPアプリケーション
- 6. java vs C#Webサービスクライアント
- 7. struts2を使用したJava Webアプリケーション:Success.But
- 8. mavenを使用してWebアプリケーションでnetbeansでWebサービスクライアントを生成する
- 9. Java Webサービスクライアントのハンドシェイク例外
- 10. .net SSLを使用したWebサービス。 wcf?
- 11. wsdl2phpを使用したPHP WebサービスクライアントのArrayOf_apachesoap_Elementデータ型
- 12. SSLを使用したJava JMXクライアント
- 13. Java Webサービスクライアントを作成する
- 14. SSLを使用したC#Webサービスとファイアウォール
- 15. AXISとWebサービスクライアント用のJAX-WS
- 16. C#でSSL(https)を使用したWebサービスの使用
- 17. Java Webサービスクライアントの問題 - HTTPヘッダー - ホストフィールド
- 18. タイムアウト後のAxis2 Java Webサービスクライアントの問題
- 19. PHP Webサービスクライアント:Guzzleとxsd
- 20. Axisを使用せずにJavaでWebサービスクライアントを簡単に生成する
- 21. java eeを使用したWebアプリケーションでの意見
- 22. WebベースのJavaアプリケーションを使用したリモート処理PLC
- 23. Webサービスクライアントのスタックトレース
- 24. OSGi SOAP Webサービスクライアント
- 25. play1.2.4アプリケーションでsslを使用
- 26. 既存のWebアプリケーション用のSSLの使用-Sharepoint
- 27. Java WebプロジェクトでSSLを使用する方法
- 28. FIddlerとSSLを使用したHTMLUnit
- 29. SSLを使用したDelphiとIndy
- 30. SSLサポートとルビーデバッグを使用したシンビット
簡単な言葉で、私はどのようにBindingProvidorを使用してのSOAPHeaderに署名する任意のJ2EEコンテナ –