Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

以下は AxisDefault.properties ファイルの例です。

Code Block
#!<studio-project id="20000000-000000"

...

 name="lansa">

...


#

...


# Axis default properties
#
axis.ClientConfigFile=system/axis-client-config.xml

...


axis.ServerConfigFile=system/axis-server-config.xml

...


#

...


# axis.http.client.maximum.total.connections

...


# axis.http.client.maximum.connections.per.host

...


# axis.http.client.connection.pool.timeout

...


# axis.http.client.connection.default.so.timeout

...


# axis.http.client.connection.default.connection.timeout

...


# axis.socketFactory

...


# axis.socketSecureFactory

...


# axis.ServerFactory

...


# http.proxyHost

...


# http.proxyPort

...


# http.proxyUser

...


# http.proxyPassword

...


# http.nonProxyHosts

...


# https.proxyHost

...


# https.proxyPort

...


# https.proxyUser

...


# https.proxyPassword

...


# https.nonProxyHosts

...


#

...


#!</studio-project>

Axis グローバル構成

Axis リファレンス・ガイド

Axis クライアント/サーバー構成

デフォルトでは、Axis はクライアント/サーバー構成用に jsmaxis.jar ファイルの org/apache/axis/client/client-config.wsdd ファイルと org/apache/axis/server/server-config.wsdd ファイルを使用します。

AxisDefault.properties のエントリー axis.ClientConfigFile および axis.ServerConfigFile は、異なる構成ファイルを使用するように Axis に指示します。

axis.ClientConfigFile=system/axis-client-config.xml
axis.ServerConfigFile=system/axis-server-config.xml

Axis クライアント構成

Code Block
<?xml version="1.0" encoding="utf-8"?>

...


 

...


<deployment name="defaultClientConfiguration" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

...


 

...


<globalConfiguration>

...


  <parameter name="disablePrettyXML" value="true"/>

...


  <parameter name="addressing.sendReplyTo" value="true"/>

...


  <parameter name="enableNamespacePrefixOptimization" value="false"/>

...


</globalConfiguration>

...


 

...


<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>

...


 

...


</deployment>

Axis サーバー構成

Code Block
<?xml version="1.0" encoding="utf-8"?>

...


 

...


<deployment name="defaultServerConfiguration" xmlns="http://xml.apache.org/axis/wsdd/">

...


 

...


<globalConfiguration>

...


  <parameter name="sendMultiRefs" value="false"/>

...


  <parameter name="dotNetSoapEncFix" value="true"/>

...


  <parameter name="disablePrettyXML" value="true"/>

...


  <parameter name="enableNamespacePrefixOptimization" value="false"/>

...


</globalConfiguration>

...


 

...


</deployment>

SOAP サーバー応答での MultiRef エンコーディングの無効化

Axisサーバー構成では、グローバルなsendMulitRefsパラメータを使用することにより、RPC/エンコードされた応答でのmultiRefの送信を無効にすることができます。

<parameter name="sendMultiRefs" value="false"/>
 

Axis での共通 HTTP クライアントの使用

デフォルトでは、Apache Axis 1.4はHTTP送信にorg.apache.axis.transport.http.HTTPSenderを使用します。

...

構成内のtransport pivot属性を、CommonsHTTPSenderクラスを指し示すように変更します。

<transport name="http" pivot="java:org.apache.axis.transport.http.CommonsHTTPSender"/>
 

また、common.codec.1.3.jarとcommon-httpclient-3.0-rc4.jarをjarディレクトリに追加する必要があります。

http://jakarta.apache.org/commons/

http://jakarta.apache.org/commons/httpclient/

http://jakarta.apache.org/commons/httpclient/features

http://jakarta.apache.org/commons/httpclient/logging

http://jakarta.apache.org/site/downloads/downloads_commons

JSMDirect サーバーで共通 HTTP クライアントを使用する場合の問題

デフォルトでは、共通HTTPクライアントはHTTPプロトコル1.1を使用し、デフォルトでチャンク形式転送エンコーディングを使用します。

...

SOAP Agentウィザードは、生成されたサービス・コードに以下のコードを入れることで、HTTPクライアント・プログラムに対してHTTP 1.0プロトコルを強制的に使用させることができます。

stub._setProperty ( org.apache.axis.MessageContext.HTTP_TRANSPORT_VERSION ,
                    org.apache.axis.transport.http.HTTPConstants.HEADER_PROTOCOL_V10 ) ;
 

SOAP 要求への SOAP ヘッダーの挿入

生成されたSOAP Agentのサービス・コードにコードを含めることで、SOAP要求にSOAPヘッダーを挿入できます。SOAP Agentウィザードでサービス・コードを生成すると、ファイルAGENT_INCLUDE.TXTの内容が生成されたコードに含まれます。

また、メッセージ・ハンドラーを使用してメッセージにSOAPヘッダーを追加することもできます。詳細は、「2また、メッセージ・ハンドラーを使用してメッセージにSOAPヘッダーを追加することもできます。詳細は、「2.17 SOAP Agent メッセージ・ハンドラー」を参照してください。メッセージ・ハンドラー」を参照してください。

Code Block
/*

...


    Add SOAP header

...


*/

...


org.apache.axis.message.SOAPHeaderElement elementHead = new org.apache.axis.message.SOAPHeaderElement ( "namespace", "AuthHeader"  ;

...


 

...


javax.xml.soap.SOAPElement elementUserToken = elementHead.addChildElement ( "UserToken" ) ;

...


 

...


javax.xml.soap.SOAPElement elementUserName = elementUserToken.addChildElement ( "UserName" ) ;

...


elementUserName.addTextNode ( "username" ) ;

...


 

...


javax.xml.soap.SOAPElement elementPassword = elementUserToken.addChildElement ( "Password" ) ;

...


elementPassword.addTextNode ( "password" ) ;

...


 

...


stub.setHeader ( elementHead ) ;

...