JAX-WSチュートリアル
XML Webサービス用のJava API(JAX-WS)
は、XML形式(SOAP)でWebサービスを作成するための一連のAPIです。 JAX-WSには、Webサービス・クライアントとWebサービス・プロバイダ(エンドポイント)の開発とデプロイメントを簡素化するためのアノテーションが多数用意されています。
このチュートリアルでは、JAX-WS 2.0とJAXWS 2.1の両方で、多くのステップバイステップの説明と説明を提供します。
ハッピーラーニングJAX-WS 🙂
クイックスタート
JAX-WS 2.xのクイックスタートの例
図:JAX-WS通信 –
画像ソース
JAX-WSとJava、wsimport、RubyのWebサービスクライアントを使用して、RPCスタイルのWebサービスエンドポイントを作成する方法を説明するチュートリアルです。
-
link://webservices/jax-ws/jax-ws-hello-world-example-document-style/[JAX-WS
JAX-WSを使用してドキュメントスタイルのWebサービスエンドポイントを作成し、クライアントとサーバーの間のSOAPエンベロープのフローを表示する方法を説明するチュートリアルです。
-
link://webservices/jax-ws/how-to-trace-soap-message-in-eclipse-ide/[どのようにして
Eclipse IDEでこの「TCP/IP Monitor」を有効にする方法と、Webサービスによって生成されたSOAPメッセージを傍受する方法について説明します。
-
link://webservices/jax-ws/jax-ws-wsimport-tool-example/[JAX-WS:
wsimportツールの例]wsimportツールは、既存のWebサービス記述言語(WSDL)ファイルを解析し、Webサービスクライアントが公開Webサービスにアクセスするために必要なファイル(JAX-WSポータブルアーティファクト)を生成するために使用されます。
-
リンク://webservices/jax-ws/jax-ws-wsgen-tool-example/[JAX-WS:wsgen
ツールの例]wsgenツールは、既存のWebサービス実装クラスを解析するために使用され、Webサービスのデプロイメントに必要なファイル(JAX-WSポータブルアーティファクト)を生成します。
JAX-WS添付ファイル
JAX-WS 2.xで添付ファイルを処理する方法。
-
リンク://webservices/jax-ws/jax-ws-attachment-with-mtom/[JAX-WS
attach with MTOM]メッセージ送信最適化メカニズム(MTOM)とXMLバイナリ最適化パッケージ化(XOP)技術を使用してバイナリアタッチメント(イメージ)をサーバからクライアントに送信する方法を示す完全なJAX-WS SOAPベースの例。
JAX-WSハンドラ
SOAPハンドラは、SOAPメッセージインターセプタであり、着信または発信SOAPメッセージを代行受信し、その値を操作できます。
-
link://webservices/jax-ws/jax-ws-soap-handler-in-server-side/[パート1:
JAX-WS – サーバー側のSOAPハンドラー]この記事では、SOAPハンドラーを作成してサーバー側に接続して、着信SOAPメッセージからSOAPヘッダーブロック内のmacアドレスを取得する方法を説明します。 MACアドレスが「90-4C-E5-44-B9-8F」のコンピュータのみがこの公開されたサービスにアクセスできるように検証を行います。
-
リンク://webservices/jax-ws/jax-ws-so-hand-in-client-side/[パート2:
JAX-WS – クライアントサイドのSOAPハンドラ]この記事では、前回の記事で公開されたサービスにアクセスするWebサービスクライアントを開発し、送信するすべての送信SOAPメッセージについて、クライアントのMACアドレスをヘッダブロックに挿入するハンドラをアタッチしますクライアント側。
-
リンク://webservices/jax-ws/jax-ws-soap-handler-testing-client-and-server-side/[パート
3:JAX-WS – クライアント側とサーバー側のSOAPハンドラテスト]上記2つのSOAPハンドラ記事のテスト結果。
JAX-WS統合
JAX-WSをWebアプリケーションとSpringフレームワークに統合する方法
-
リンク://webservices/jax-ws/jax-ws-java-web-application-integration-example/[JAX-WS
Java Webアプリケーション統合の例]ここでは、JAX-WSとJava Webアプリケーションを統合する方法について説明します。
-
link://webservices/jax-ws/jax-ws-spring-integration-example/[JAX-WS
Spring統合の例]ここでは、JAX-WSをSpringフレームワークと統合する方法を説明します。
-
リンク://webservices/jax-ws/unable-to-locate-spring-namespacehandler-for-xml-schema-namespace-httpjax-ws-dev-java-netspringservlet/[Unable
XMLスキーマ名前空間用のSpring NamespaceHandlerを見つける方法[
http://jax-ws.dev.java.net/spring/servlet
]]
SpringフレームワークとJAX-WSを統合する一般的なエラーメッセージ。
TomcatのJAX-WSセキュリティ
TomcatにおけるJAX-WSセキュリティのしくみ
-
リンク://webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/[Deploy
TomcatのJAX-WS Webサービス]ここでは、Tomcatサーブレット・コンテナにJAX-WS Webサービスをデプロイする方法を説明します。
-
リンク://webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat-ssl-connection/[Deploy
Tomcat SSL接続でのJAX-WS Webサービス]ここでは、Tomcat SSL接続でJAX-WS Webサービスを展開する方法を説明します。
-
link://webservices/jax-ws/application-authentication-with-jax-ws/[アプリケーション
JAX-WSによる認証]+ JAX-WSでのアプリケーション・レベル認証の処理方法の詳細を示します。
-
リンク://webservices/jax-ws/container-authentication-with-jax-ws-tomcat/[コンテナ
JAX-WS(Tomcatバージョン)による認証]ここでは、Tomcatの下でJAX-WSでコンテナ認証を実装する方法の詳細を示します。
-
リンク://tomcat/how-to-configure-tomcat-to-support-ssl-or-https/[Make
SSLまたはhttps接続をサポートするTomcat]** link://webservices/jax-ws/how-to-bypass-certificate-checking-in-java-web-service-client/[どのようにして
Java Webサービスクライアントで証明書のチェックをバイパスする]** リンク://webservices/jax-ws/java-security-cert-certificateexception-no-name-matching-localhost-found/[java.security.cert.CertificateException:
名前が一致するlocalhostが見つかりません]** リンク://webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/[SunCertPathBuilderException:
要求されたターゲットへの有効な証明経路を見つけることができません]
JAX-WSエラーメッセージ
JAX-WS開発の一般的なエラーメッセージ
-
リンク://webservices/jax-ws/metro-on-websphere-7-com-ibm-xml-xlxp2-jaxb-jaxbcontextimpl-incompatible-exception/[Metro
WebSphere 7 – com.ibm.xml.xlxp2.jaxb.JAXBContextImpl互換性がありません
例外]** link://webservices/jax-ws/spring-jax-ws-xxx-is-an-interface-and-jaxb-cant-handle-interfaces/[Spring
jax-ws: ‘xxx’はインターフェースであり、JAXBはインターフェースを処理できません]** link://webservices/jax-ws/spring-jax-ws-xxx-is-not-ncnameの有効値/[Spring
jax-ws: ‘#xxx’は ‘NCName’の有効な値ではありません]** リンク://webservices/jax-ws/javax-xml-stream-xmlstreamexception-parseerror-at-rowcolxxx/[javax.xml.stream.XMLStreamException
: ParseError at[row,col]:[x,xx]]** link://webservices/jax-ws/java-net-bindexception-address-already-in-use-bind/[java.net.BindException:
すでに使用中のアドレス:bind]** link://webservices/jax-ws/wrapper-class-package-jaxws-methodname-not-found-you-run-apt-to-generate-them/[ラッパー
クラスpackage.jaxws.methodNameが見つかりません。 APTを実行しましたか?
それらを生成する?]** リンク://webservices/jax-ws/java-lang-classnotfoundexception-com-sun-xml-ws-transport-http-servlet-wsservletcontextlistener/[java.lang.ClassNotFoundException:
com.sun.xml.ws.transport.http.servlet.WSServletContextListener]** link://webservices/jax-ws/java-lang-classnotfoundexception-comsunxmlbindv2モデルのアノテーションアノテーションリーダー/[java.lang.ClassNotFoundException
: com/sun/xml/bind/v2/model/annotation/AnnotationReader]** link://webservices/jax-ws/java-lang-classnotfoundexception-comsunxmlstreambufferxmlstreambuffer/[java.lang.ClassNotFoundException
: com/sun/xml/stream/buffer/XMLStreamBuffer]** link://webservices/jax-ws/java-lang-classnotfoundexception-comsunxmlwspolicypolicyexception/[java.lang.ClassNotFoundException
: com/sun/xml/ws/policy/PolicyException]** link://webservices/jax-ws/java-lang-classnotfoundexception-javax-xml-ws-soap-addressingfeatureresponses/[java.lang.ClassNotFoundException
: javax.xml.ws.soap.AddressingFeature$Responses]** link://webservices/jax-ws/java-lang-classnotfoundexception-org-jvnet-staxex-xmlstreamreaderex/[java.lang.ClassNotFoundException
: org.jvnet.staxex.XMLStreamReaderEx]** link://webservices/jax-ws/java-lang-classnotfoundexception-org-glassfish-gmbal-managedobjectmanager/[java.lang.ClassNotFoundException
: org.glassfish.gmbal.ManagedObjectManager]** link://webservices/jax-ws/java-lang-classnotfoundexception-org-glassfish-external-amx-amxglassfish/[java.lang.ClassNotFoundException
: org.glassfish.external.amx.AMXGlassfish]** link://webservices/jax-ws/java-lang-classnotfoundexception-org-springframework-beans-factory-support-readercontext/[java.lang.ClassNotFoundException:
org.springframework.beans.factory.support.ReaderContext]** link://webservices/jax-ws/java-lang-classnotfoundexception-org-apache-xbean-spring-context-v2-xbeannamespacehandler/[java.lang.ClassNotFoundException:
org.apache.xbean.spring.context.v2.XBeanNamespaceHandler]
参考文献
-
http://java.sun.com/developer/technicalArticles/WebServices/high__performance/
-
http://java.sun.com/developer/technicalArticles/J2SE/jax
ws
2/ -
http://blogs.sun.com/kamna/entry/using
jax
ws
handlers
to -
http://www.ibm.com/developerworks/webservices/library/ws-docstyle.html
-
http://www.oracle.com/technology/sample__code/tech/java/j2ee/jintdemo/tutorials/webservices.html
-
http://www.oracle.com/technetwork/articles/javase/index-137171.html