これは、実行する必要があるプロセスです。
まず、WDSL 定義からクラスを作成します。
url = 'http://www.webservicex.net/FedWire.asmx?WSDL';
className = createClassFromWsdl(url);
これにより、現在のディレクトリに @FedWire というディレクトリが作成されます。このディレクトリに移動するか、以下を使用して FedWire が提供するサービスを調べることができます。
methods(FedWire)
Web サービスを使用する前に、FedWire オブジェクトのインスタンスを作成します。
fw = FedWire;
classType = class(fw) % to confirm the class type.
City と StateCode を必要とする GetParticipantByLocation などのサービスを使用するには、次のようにします。
[Result, FedWireLists] = GetParticipantsByLocation(fw, 'New York', 'NY')
結果は true である必要があり、FedWireLists は返されたデータを含む深くネストされた構造です。
@FedWire\GetParticipantsByLocation.m を開くと、MATLAB によって生成されたコードが createSoapMessage と callSoapService をどのように使用しているかがわかります。サービスが WSDL クエリをサポートしていない場合は、これらの低レベル関数を使用する必要があります。
createSoapMessage のパラメーターは、次のように入力されます。
- 名前空間: 'http://www.webservicex.net/'
- メソッド: 'GetParticipantsByLocation'
- 値: {'ニューヨーク', 'NY'}
- 名前: {'City', 'StateCode'}
- タイプ: {'{http://www.w3.org/2001/XMLSchema}文字列', '{http://www.w3.org/2001/XMLSchema}文字列'}
- スタイル: 'ドキュメント'
そしてcallSoapService:
- エンドポイント: 'http://www.webservicex.net/FedWire.asmx'
- SOAPACTION: 'http://www.webservicex.net/GetParticipantsByLocation'
- MESSAGE: createSoapMessage 呼び出しの結果。
次のコードは、低レベルの呼び出しで同じクエリを作成します。
% createSoapMessage(NAMESPACE,METHOD,VALUES,NAMES,TYPES,STYLE) creates a SOAP message.
soapMessage = createSoapMessage( ...
'http://www.webservicex.net/', ...
'GetParticipantsByLocation', ...
{'New York', 'NY'}, ...
{'City', 'StateCode'}, ...
{'{http://www.w3.org/2001/XMLSchema}string', ...
'{http://www.w3.org/2001/XMLSchema}string'}, ...
'document')
% callSoapService(ENDPOINT,SOAPACTION,MESSAGE) sends the MESSAGE,
response = callSoapService( ...
'http://www.webservicex.net/FedWire.asmx', ...
'http://www.webservicex.net/GetParticipantsByLocation', ...
soapMessage);
%parseSoapResponse Convert the response from a SOAP server into MATLAB types.
[result, participants] = parseSoapResponse(response)
www.webserviceX.NET
XML の例から取ったこのようなサービス ドメイン名を大文字にしていたため、これらの例を機能させるのに非常に苦労しました。小文字に変更するとうまくいきました。
使用例は、 http://www.mathworks.co.uk/products/bioinfo/examples.html?file=/products/createClassFromWsdl
demos/shipping/bioinfo/connectkeggdemo.htmlの適応です
。