次の方法で共有


Windows XP における SOAP クライアント概要

Roger Wolter
Microsoft Corporation

May 2001

要約 : この記事では、Microsoft Windows XP Professional に含まれている SOAP クライアント ソフトウェア上で SOAP を使って Web サービスにアクセスする方法の基本事項を解説します。まず SOAP および WSDL 標準を簡単に紹介し、SOAP 対応の Web サービスと通信を行えるクライアントを実装する方法を説明します。

目次

はじめに
SOAP とは?
WSDL とは?
単純なクライアント アプリケーションの構築
次のステップ
SOAPClient オブジェクト
          Mssoapinit メソッド
          ClientProperty プロパティ
          ConnectorProperty プロパティ
          Detail プロパティ
          HeaderHandler (SOAPClient)
          Faultactor プロパティ (SOAPClient)
          Faultcode プロパティ (SOAPClient)
          Faultstring プロパティ (SOAPClient)

はじめに

Microsoft(R) Windows(R) XP Professional には、Microsoft SOAP Toolkit 2.0 のクライアント部分が含まれているため、SOAP クライアント アプリケーションを構築したり、SOAP Toolkit 2.0 のクライアント部分なしで SOAP クライアントを Windows XP Professional クライアントに配布することが可能になっています。この記事では、Windows XP に含まれている SOAP クライアント ソフトウェア上で SOAP を使って Web サービスにアクセスする方法の基本事項を解説します。まず SOAP および Web Services Description Language (WSDL) 標準を簡単に紹介し、SOAP 対応の Web サービスと通信を行えるクライアントを実装する方法を説明します。

SOAP とは?

Simple Object Access Protocol の頭字語である SOAP は、http://www.w3.org/TR/SOAP に掲載されている SOAP 標準によって定義されています。SOAP プロトコルは、システム間での通信に使用される標準 XML メッセージの形式を定義しています。メッセージ形式は XML 標準をベースにして標準化されているため、SOAP は異なるコンピュータ アーキテクチャ、言語、およびオペレーティング システムの間での通信に利用することができます。SOAP は、サービスを標準的な方法で公開する、Web サービスと呼ばれる新しい種類のアプリケーションを可能にします。アプリケーション開発者は、Web 上のさまざまなソースのサービスを組み合わせて、新しいアプリケーションを作成することができます。

SOAP 仕様が扱っている分野は主に 4 つあります。SOAP メッセージの XML コンテンツを囲むエンベロープの形式を定義する必須の SOAP エンベロープ形式、SOAP メッセージ内で言語タイプがどのように XML にマッピングされるかを定義するオプションのエンコーディング規則のセット (これは仕様のセクション 5 に定義されているので、「セクション 5 エンコーディング」と呼ばれます)、SOAP メッセージで関数呼び出しがどのように表現されるかを定義するオプションの RPC 形式、および SOAP メッセージを HTTP を通して交換する方法を定義した HTTP バインディングです。HTTP は、この標準が定義している唯一の通信プロトコル バインディングです。このため、ほとんどすべての SOAP 実装が HTTP バインディングを含んでいます。SOAP は、SOAP メッセージのトランスポートに使用できるその他の通信プロトコルについては、何の制限も設けていないことに注意してください。

次に単純な SOAP メッセージを示します。


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope 
SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" 
  xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAPSDK1:Add xmlns:SOAPSDK1="http://tempuri.org/message/">
    <a>333</a>
    <b>888</b>
    </SOAPSDK1:Add>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

この例をもとに、SOAP メッセージの形式を詳しく説明していきましょう。最初の行は、SOAP ドキュメントで使用される文字セットを定義する XML 宣言です。Envelope 要素は、つねに SOAP メッセージのルートであり、つねに "https://schemas.xmlsoap.org/soap/envelope/" 名前空間に含まれている必須の要素です。

SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" 属性は、メッセージで使用されるエンコーディング スタイルを定義します。この例では、標準のセクション 5 エンコーディングが使用されています。Envelope 要素の Body サブ要素は SOAP メッセージを含んでいます。SOAP 仕様のセクション 7 で定義されているように、Add 要素は Add という名前の操作の呼び出しを表します。Add のサブ要素は、Add メソッド呼び出しのパラメータです。

このメッセージへの応答は、次のようなものになります。


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<SOAP-ENV:Envelope 
SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/"
 xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
    <SOAPSDK1:AddResponse
    xmlns:SOAPSDK1="http://tempuri.org/message/">
    <Result>1221</Result>
    </SOAPSDK1:AddResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

WSDL とは?

WSDL は Web Service Definition Language の頭字語です。Web サービスの呼び出しに成功するためには、そのサービスにアクセスする方法、サービスがサポートしている操作、サービスが期待しているパラメータ、およびサービスが返す応答を知っている必要があります。WSDL は、これらすべての情報を、人間が読んだりマシンで処理することが可能な XML ドキュメントの形で提供します。

WSDL ファイルの形式を、次の WSDL ファイルを例にとって説明しましょう。


<?xml version="1.0" encoding="UTF-8" ?> 
<definitions name="net.xmethods.services.currencyexchange.CurrencyExchange"
targetNamespace="http://www.themindelectric.com/wsdl/
net.xmethods.services.currencyexchange.CurrencyExchange/" 
xmlns:tns="http://www.themindelectric.com/wsdl/
net.xmethods.services.currencyexchange.CurrencyExchange/"
xmlns:electric="http://www.themindelectric.com/" 
xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soapenc="https://schemas.xmlsoap.org/soap/encoding/" 
xmlns:wsdl="https://schemas.xmlsoap.org/wsdl/" 
xmlns="https://schemas.xmlsoap.org/wsdl/">

<message name="getRateRequest1">
  <part name="country1" type="xsd:string" /> 
  <part name="country2" type="xsd:string" /> 
</message>
<message name="getRateResponse1">
  <part name="Result" type="xsd:float" /> 
</message>
<portType name="net.xmethods.services.
currencyexchange.CurrencyExchangePortType">
  <operation name="getRate" parameterOrder="country1 country2">
    <input message="tns:getRateRequest1" /> 
    <output message="tns:getRateResponse1" /> 
  </operation>
</portType>
<binding name="net.xmethods.services.currencyexchange.CurrencyExchangeBinding" 
type="tns:net.xmethods.services.currencyexchange.CurrencyExchangePortType">
<soap:binding style="rpc"
transport="https://schemas.xmlsoap.org/soap/http" />
  <operation name="getRate">
  <soap:operation soapAction="urn:xmethods-CurrencyExchange#getRate" /> 
    <input>
      <soap:body use="encoded" namespace="urn:xmethods-CurrencyExchange"
      encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" /> 
    </input>
    <output>
      <soap:body use="encoded" namespace="urn:xmethods-CurrencyExchange"
      encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" /> 
    </output>
  </operation>
</binding>
<service name="net.xmethods.services.currencyexchange.CurrencyExchangeService">
  <documentation>
  net.xmethods.services.currencyexchange.CurrencyExchange web service
  </documentation> 
  <port name="net.xmethods.services.currencyexchange.CurrencyExchangePort"
  binding="tns:net.xmethods.services.currencyexchange.
  CurrencyExchangeBinding">
    <soap:address location="http://206.135.115.109:9090/soap" /> 
  </port>
</service>
</definitions>

これは、The Mind Electric の Glue で実装されている為替レート サービスのための WSDL ファイルです。このため、この形式は Microsoft SOAP Toolkit の WSDL ファイルと同一のものではありませんが、互換性はあります。WSDL ファイルの最初の要素は定義要素です。これはファイルのルート要素であり、通常は複数の名前空間宣言を含んでいます。


<definitions 
name="net.xmethods.services.currencyexchange.CurrencyExchange"
targetNamespace="http://www.themindelectric.com/wsdl/
  net.xmethods.services.currencyexchange.CurrencyExchange/"
xmlns:tns="http://www.themindelectric.com/wsdl/
  net.xmethods.services.currencyexchange.CurrencyExchange/"
xmlns:electric="http://www.themindelectric.com/" 
xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soapenc="https://schemas.xmlsoap.org/soap/encoding/" 
xmlns:wsdl="https://schemas.xmlsoap.org/wsdl/" 
xmlns="https://schemas.xmlsoap.org/wsdl/">

</definitions>

xsd 名前空間は 2001 バージョンであることに注意してください。SOAP Toolkit は、デフォルトでは XSD スキーマ名前空間の 2001 Recommendation バージョンを使用しますが、それよりも古い名前空間バージョンで書かれた WSDL ファイルを理解することができます。

WSDL が何らかの複合型を使用している場合、これらの型の XSD スキーマ定義は <types></types> 要素に含まれることになります。この WSDL ファイルは複合型を使用していないので、この要素は存在しません。

次のセクションは、この WSDL で定義されているサービスが使用するメッセージを定義しています。


<message name="getRateRequest1">
  <part name="country1" type="xsd:string" /> 
  <part name="country2" type="xsd:string" /> 
</message>
<message name="getRateResponse1">
  <part name="Result" type="xsd:float" /> 
</message>

ここでは、メソッド パラメータの名前とデータ型が定義されています。

portType 要素は、前のセクションで定義されたメッセージと、それらを使用する操作の間のマッピングを定義します。


<portType name="net.xmethods.services.currencyexchange.CurrencyExchangePortType">
  <operation name="getRate" parameterOrder="country1 country2">
    <input message="tns:getRateRequest1" /> 
    <output message="tns:getRateResponse1" /> 
  </operation>
</portType>

binding 要素は、portType 要素で定義された抽象的操作と、それらの SOAP での実装方法の間のバインディングを定義します。WSDL は他の SOAP プロトコルも定義できるように作られているので、これは別の要素の中で行われます。注意しなくてはならないことをいくつか記しておくと、style="rpc" は、このメッセージが SOAP 標準のセクション 7 で定義された rpc 規則を使用することを意味しています。style="document" が指定されていれば、SOAP メッセージの内容は XML ドキュメントになります。transport 属性は SOAP メッセージが SOAP HTTP メッセージとして送信されることを示し、soapAction 属性は HTTP パケットの中の soapAction ヘッダーの内容を定義し、use="encoded" 属性はパラメータ値に SOAP セクション 5 エンコーディングが使用されることを示します。


<binding name=
"net.xmethods.services.currencyexchange.CurrencyExchangeBinding"
type="tns:net.xmethods.services.currencyexchange.CurrencyExchangePortType">
<soap:binding style=
"rpc" transport="https://schemas.xmlsoap.org/soap/http" />
  <operation name="getRate">
  <soap:operation soapAction="urn:xmethods-CurrencyExchange#getRate" /> 
    <input>
    <soap:body use="encoded" namespace="urn:xmethods-CurrencyExchange"
    encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" /> 
    </input>
    <output>
    <soap:body use="encoded" namespace="urn:xmethods-CurrencyExchange"
    encodingStyle="https://schemas.xmlsoap.org/soap/encoding/" /> 
    </output>
  </operation>
</binding>

service 要素は、SOAP バインディングを、サービスの物理的実装に結び付けます。サービスの URL は、この要素で定義されます。このサービスはポート 9090 でアクセスされることに注意してください。SOAP はポート 80 を通ることはできません (ファイヤウォールがポート 80 を使用することを要求している場合には、ポート 80 でもサービスのコピーが実行されます)。


<service
  name="net.xmethods.services.currencyexchange.CurrencyExchangeService">
  <documentation>
  net.xmethods.services.currencyexchange.CurrencyExchange web service
  </documentation> 
  <port name="net.xmethods.services.currencyexchange.CurrencyExchangePort"
  binding="tns:net.xmethods.services.
  currencyexchange.CurrencyExchangeBinding">
  <soap:address location="http://206.135.115.109:9090/soap" /> 
  </port>
</service>

単純なクライアント アプリケーションの構築

このセクションでは、Windows XP に含まれている SOAP クライアントを使って、単純な SOAP アプリケーションを構築するプロセスのウォークスルーを行います。ここの例で使用される Web サービスは、利用可能な SOAP サービスのオンライン リストである XMethods サイトに置かれている為替レート サービスです。 

このサービスは、パラメータとして 2 つの国を受け取り、それらの間の為替レートを返します。このサービスを記述する WSDL ファイルは http://www.xmethods.net/ にあります。

この SOAP メソッドを高水準の SOAP API を使って呼び出すためのステップは、SOAPClient オブジェクトを作成し、WSDL ファイルを使って SOAPClient オブジェクトを初期化し、メソッドを呼び出すというものです。

次に、これを行う単純な VBScript コードを示します。


dim SOAPClient
set SOAPClient = createobject("MSSOAP.SOAPClient")
on error resume next
SOAPClient.mssoapinit("http://www.xmethods.net/sd/
CurrencyExchangeService.wsdl") 
  if err then
    wscript.echo SOAPClient.faultString
    wscript.echo SOAPClient.detail
  end if
wscript.echo SOAPClient.getRate("England","Japan")
  if err then
    wscript.echo SOAPClient.faultString
    wscript.echo SOAPClient.detail
  end if

3 つの太字の行は、上に述べた 3 つのステップに対応しています。mssoapinit のパラメータは WSDL ファイル指定で、WSDL ファイルがリモート システム上に置かれている場合は URL、WSDL ファイルがローカル マシン上に存在する場合にはファイル パスを使用することができます。ローカルな WSDL ファイルは、ファイルの取得にネットワーク ラウンドトリップが不要なので、より効率的です。ただし、すべてのクライアントで単一の WSDL ファイルをロードするようにした方が、管理作業は簡単になります。

この SOAP メソッドを実行するには、"currency.vbs" という名前のファイルにコードを入力し、"cscript currency.vbs" を入力して実行します。結果は次のようになります。


C:\SOAPDemo>cscript currency.vbs
Microsoft (R) Windows Script Host Version 5.1 for Windows
Copyright (C) Microsoft Corporation 1996-1999. All rights reserved.

173.9434

これは VB、C++、またはその他の任意の COM 対応の言語に簡単に適用することができます。次に、同じサービスを VB で実装した例を示します。


Private Sub Form_Load()
  Dim SOAPClient As SOAPClient
  Set SOAPClient = New SOAPClient
  On Error GoTo SOAPError
  SOAPClient.mssoapinit _
  ("http://services.xmethods.net/soap/urn:xmethods-CurrencyExchange.wsdl")
  MsgBox Str(SOAPClient.getRate("England", "Japan")), _
  vbOKOnly, "Exchange Rate"
Exit Sub
SOAPError:
  MsgBox SOAPClient.faultstring + vbCrLf + SOAPClient.detail, vbOKOnly,_
  "SOAP Error"
End Sub

注:   Windows XP に含まれているバージョンの SOAPClient は、ASP アプリケーションの実行に使用することはできません。このためには、SOAP Toolkit 2.0 のフル リリースをダウンロードする必要があります。

次のステップ

これで Windows XP の SOAP を使って Web サービス クライアント アプリケーションを構築する方法がわかったので、SOAP に関する知識を拡大し、独自の Web サービスを構築してみることができます。このための情報源としては、 https://msdn.microsoft.com/soap/https://msdn.microsoft.com/webservices/ が優れています。これらのサイトには、SOAP 関連の情報、ホワイト ペーパー、他の SOAP 関連サイト、および独自の Web サービス アプリケーションの構築に着手するための完全な SOAP Toolkit 2.0 をダウンロードできるダウンロード ページへのリンクがあります。フル リリースをインストールするときには、システム ファイルの保護のせいで現在のファイルを上書きできないという警告が表示されます。これらのエラーは無視してかまいません。また、XMethods にある他のサービスを試してみることもできます。SOAP Toolkit が動作するためには、サービスが WSDL ファイルを提供しなくてはならないということを忘れないようにしてください。

SOAPClient オブジェクト

このセクションでは、SOAPClient オブジェクトが公開するオブジェクト モデルについて説明します。SOAPClient オブジェクトが公開している個々のメソッドとプロパティについての説明があります。詳細については、https://msdn.microsoft.com/soap/ を参照してください。

Mssoapinit メソッド

mssoapinit メソッドは、Web Services Description Language (WSDL) ファイルを入力として使って、SOAPClient オブジェクトを初期化します。識別されたサービスの中のすべての操作が、初期化の際に SOAPClient オブジェクトにバインドされます。これにより、サービス内に定義されている操作を、SOAPClient オブジェクトを使って呼び出せるようになります。

メソッド定義


HRESULT mssoapinit(
 [in] BSTR bstrWSDLFile,
 [in, optional, defaultvalue("")] BSTR bstrServiceName,
 [in, optional, defaultvalue("")] BSTR bstrPort,
 [in, optional, defaultvalue("")] BSTR bstrWSMLFile);

パラメータ

bstrWSDLFile

bstrWSDLFile は、サーバーが提供するサービスを記述している WSDL ファイルの URL です。

bstrServiceName

bstrServiceName は、Simple Object Access Protocol (SOAP) 要求で指定された操作を含んでいる WSDL ファイル内のオプションのサービスです。このパラメータが指定されていないか、null または空の文字列である場合、mssoapinit メソッドは、SOAPClient オブジェクトの初期化の際に、指定された WSDL ファイルの中の最初のサービスを使用します。

bstrPort

やはりオプションの bstrPort パラメータは、SOAP 要求で指定された操作を含んでいる WSDL ファイル内のポートの名前です。このパラメータが指定されていないか、null または空の文字列である場合、mssoapinit メソッドは、SOAPClient オブジェクトの初期化の際に、指定されたサービス内の最初のポートを使用します。

やはりオプションの bstrWSMLFile パラメータは、Web Services Meta Language (WSML) ファイルの URL です。これは、カスタム タイプ マッパを使用するときにのみ必須のパラメータとなります。

Visual Basic の構文


Sub mssoapinit(bstrWSDLFile As String,_ 
   [bstrServiceName As String],_ 
   [bstrPort  As String],_ 
   [bstrWSMLFile As String])

Visual Basic の例


set soapclient = CreateObject("MSSOAP.SOAPClient") 
call soapclient.mssoapinit("DocSample1.wsdl", "", "", "")
wscript.echo soapclient.AddNumbers(2,3)
wscript.echo soapclient.SubtractNumbers(3,2)

注釈

mssoapinit メソッドは、クライアント サイドの高レベル API の一部です。このメソッドを使用するためには、まずクライアント上に SOAPClient オブジェクトを作成する必要があります。その後、WSDL ファイル名、サービス名、およびポート名をパラメータとして使用して、mssoapinit メソッドを呼び出します。これで、クライアントは要求したサービスまたはポートで、WSDL ファイルに定義されている任意の操作を呼び出すことができます。

ClientProperty プロパティ

ClientProperty プロパティは、SOAPClient オブジェクトに固有のプロパティの設定と取得を行います。

メソッド定義


[propget] HRESULT ClientProperty(
  [in]  BSTR  PropertyName,
  [out, retval] VARIANT* pPropertyValue);

[propput] HRESULT ClientProperty(
  [in] BSTR PropertyName,
  [in] VARIANT pPropertyValue);

パラメータ

PropertyName は設定または取得するプロパティの名前です。プロパティのリストについては、次の注釈のセクションを参照してください。以下のプロパティがサポートされています (プロパティ名では大文字小文字が区別されます)。

プロパティ名 説明
ServerHTTPRequest Web Services Description Language (WSDL) および Web Services Meta Language (WSML) ファイルのロードに "server-safe" XML コンポーネントを使用するかどうかを示す True/False の値。Active Server Pages (ASP) アプリケーションまたは ISAPI DLL が SOAPClient オブジェクトを使用する場合には True に設定します。

ServerHTTPRequest が true に設定されている場合には、WinHTTP Proxy Configuration Utility を使って WinHTTP を構成する必要があります。これは、プロキシ サーバーを使用しない場合でも必要です。このユーティリティは、https://msdn2.microsoft.com/en-us/downloads/default.aspx からダウンロードし、ダウンロードに含まれている ReadMe.txt ファイルの説明に従って使用します。

ConnectorProgID ISOAPConnector インターフェイスを実装するクラスの ProgID を指定します。サービスに要求を送信するときには、このクラスのオブジェクトを作成し、使用することになります。これがデフォルト値である空の文字列に設定された場合、SOAPClient は SOAPConnectorFactory オブジェクトを使って、WSDL で指定されているトランスポート プロトコルのためのコネクタを作成します。

pPropertyValue

pPropertyValue はプロパティの値です。

Visual Basic の構文


Property ClientProperty(PropertyName As String) As Variant

Visual Basic の例


Dim Client As New SOAPClient
Client.ClientProperty("ServerHTTPRequest") = True

ConnectorProperty プロパティ

SOAPClient オブジェクトが使用するトランスポート プロトコル コネクタに固有のプロパティを設定し、取得します。

メソッド定義


[propget] HRESULT ConnectorProperty (
  [in]  BSTR  PropertyName,
  [out, retval] VARIANT* pPropertyValue);

[propput] HRESULT ConnectorProperty (
  [in] BSTR PropertyName,
  [in] VARIANT pPropertyValue);

パラメータ

PropertyName

PropertyName は、設定または取得するプロパティの名前です。どのプロパティがサポートされるかは、使用されるコネクタによって異なります。使用されるコネクタは、Web Services Description Language (WSDL) ファイルの <soap:binding> transport 属性によって指定されているプロトコルによって決定されます。

pPropertyValue

pPropertyValue はプロパティの値です。

Visual Basic の構文


Property ConnectorProperty(PropertyName As String)

Visual Basic の例


Dim Client As New SOAPClient
Client.mssoapinit WSDLFile, Service, Port
Client.ConnectorProperty("ProxyUser") = User
Client.ConnectorProperty("ProxyPassword") = Password

コネクタ プロパティ

プロパティ 説明
AuthPassword エンド ポイント認証に使用されるパスワード。
AuthUser エンド ポイント認証に使用されるユーザー名。
EndPointURL エンド ポイント URL。
ProxyPassword プロキシ認証に使用されるパスワード。
ProxyPort 使用するプロキシ サーバーのポート。
ProxyServer プロキシ サーバーの IP アドレスまたはホスト名。
ProxyUser プロキシ認証に使用されるユーザー名。
SOAPAction SOAPAction HTTP ヘッダーで使用される値。
SSLClientCertificateName Secure Sockets Layer (SSL) プロトコルで使用されるクライアント証明書を識別する文字列 (使用する場合)。構文は次のとおりです。

[CURRENT_USER | LOCAL_MACHINE\[store-name\]]cert-name

デフォルト値は CURRENT_USER\MY (Microsoft Internet Explorer が使用するのと同じストア) です。

Timeout HttpConnector のタイムアウト。このタイムアウトはミリ秒単位です。
UseSSL SSL を使用するかどうかを指定するブール値 (true または false)。

Detail プロパティ

detail プロパティは読み取り専用です。これは、Simple Object Access Protocol (SOAP) メッセージの <Fault> 要素の <detail> 要素の値を与えます。

メソッド定義


[propget] HRESULT detail(
  [out, retval] BSTR* bstrDetail);

パラメータ

bstrDetail

bstrDetail はフォールトの detail です。

Visual Basic の構文


Property detail As String

HeaderHandler (SOAPClient)

このクライアント インスタンスに対する次の呼び出しのヘッダー ハンドラを設定します。

メソッド定義


HRESULT HeaderHandler([in] IDispatch* rhs);

パラメータ

rhs

rhs は、IHeaderHandler を実装する COM クラス インターフェイスへの参照です。

Visual Basic の構文


Property HeaderHandler As Object

Visual Basic の例


Set sc = WScript.CreateObject("MSSOAP.SOAPClient")
sc.mssoapinit "https://localhost/DocSample7/DocSample7.wsdl"
sc.HeaderHandler = 
  WScript.CreateObject("SessionInfoClient.clientHeaderHandler")
Sc.SomeMethod "param1", "param2"

Faultactor プロパティ (SOAPClient)

faultactor プロパティは読み取り専用で、フォールトを生成した Universal Resource Identifier (URI) を与えます。

メソッド定義


[propget] HRESULT faultactor(
  [out, retval] BSTR* bstrActor);

パラメータ

bstrActor

bstrActor は、フォールトを生成した URI です。

Visual Basic の構文


Property faultactor As String

Visual Basic の例


wscript.echo soapclient.faultactor

Faultcode プロパティ (SOAPClient)

faultcode プロパティは読み取り専用です。これは、Simple Object Access Protocol (SOAP) メッセージの <Fault> 要素の <faultcode> 要素の値を与えます。

メソッド定義


[propget] HRESULT faultcode(
  [out, retval] BSTR* bstrFaultcode);

パラメータ

bstrFaultcode

bstrFaultcode は <faultcode> 要素の値です。

Visual Basic の構文


Property faultcode As String

Visual Basic の例


wscript.echo soapclient.faultcode

Faultstring プロパティ (SOAPClient)

faultstring プロパティは読み取り専用です。これは、Simple Object Access Protocol (SOAP) メッセージの <Fault> 要素の <faultstring> 要素の値を与えます。

メソッド定義


[propget] HRESULT faultstring(
  [out, retval] BSTR* bstrFaultstring);

パラメータ

bstrFaultstring

bstrFaultstring は <faultstring> 要素の値です。

Visual Basic の構文


Property faultstring As String

Visual Basic の例


wscript.echo soapclient.faultstring