Java Apache Axis2 Web サービスクライアントの例:advanced

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:3分
  • ServiceNow Web サービスを使用するための Axis2 クライアントの構築方法と使用方法を示す例。

    Axis は本質的に SOAP エンジンであり、クライアント、サーバー、ゲートウェイなどの SOAP プロセッサを構築するためのフレームワークです。Axis の現在のバージョンは Java で記述されています。このコンテンツは、Java の開発経験が浅いシステムアドミンを対象としています。まず、Java JDK バージョン 1.4.2 以降と Axis2 バージョン 1.0 以降が必要です。

    Java プロジェクトを作成

    この例では、Eclipse SDK バージョン 3.4.2 を使用してソースコードを管理し、Web 要求を実行します。Eclipse は必須ではありません。
    • Eclipse を開き、メニューから ファイル > 新規 > プロジェクト管理 > Java プロジェクト.
    • プロジェクトに名前を付けます。
    • 正しい JRE が指定されていることを確認します。
      • wsdl2javaを使用する場合は、コマンドラインで "java -version"を実行します。これは、プロジェクト固有のJREに指定するバージョンになります。
      • Axis2 Codegen プラグインを使用する場合は、デフォルトの JRE を使用します。

    Axis2 クライアントコードの生成

    • axis フォルダーの bin ディレクトリのコマンド ラインから:
      ./wsdl2java.sh -uri https://<instance name>.service-now.com/incident.do?WSDL -o /glide/workspace/TestWebService/
      
    • 上記の例では、次のようになります。
      • 「-uri」は、WSDL のコピーを「.wsdl」または「.xml」に保存したパスか、WSDL が存在する URL のいずれかです。
      • 「-o」は、ファイルが書き込まれるパスです。指定しない場合、ファイルは現在のビンの場所に書き出されます。
    • Eclipseでプロジェクトを更新すると、生成されたStubとCallbackHandlerが表示されます
      図 : 1. 軸スタブ

    ベーシック認証

    HttpTransportProperties.Authenticator basicAuthentication  = new HttpTransportProperties. Authenticator ( ) ;
    basicAuthentication. setUsername ( "admin" ) ;
    basicAuthentication. setPassword ( "admin" ) ;
    ...
     ServiceNowStub proxy  = new ServiceNowStub ( ) ;
    ...
     
     proxy._getServiceClient ( ). getOptions ( ). setProperty (org. apache. axis2. transport. http. HTTPConstants. AUTHENTICATE, basicAuthentication ) ;

    Axis2バージョン1.1以降との互換性

    チャンクのサポートは、HTTP バージョン 1.1 でのみ使用できます。デフォルトでは、チャンクはバージョン 1.1 以降の Axis2.xml で有効になっています。 ServiceNow はチャンクをサポートしていないため、デプロイ時または実行時にチャンクを無効にする必要があります。
    • 展開時間:HTTP チャンクを無効にするには、次の要素をAxis2.xmlから削除またはコメントアウトします
      <parameter name= "Transfer-Encoding" >chunked</parameter>
    • ランタイム:ユーザーは、クライアントまたはスタブで設定された次のプロパティを使用してチャンクを無効にできます (バージョン 1.1.1 以降のみ)
      options.setProperty (org. apache. axis2. transport. http. HTTPConstants. CHUNKED,  Boolean. FALSE ) ;

    一意のパッケージの作成

    Axis2 パラメーター namespace2package (ns2p) を使用して、一意のパッケージ名を作成できます。このパラメーターは次の 形式を使用します。
    <Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p <namespace>=<package name> -uri <wsdl to convert>
    例:
    <Axis path>\bin\wsdl2java.bat -u -p cr2 -ns2p http://www.service-now.com/change_request=my.change_request -uri change_request