2017-04-05 4 views
1

Argus WSを使用していますが、GetUpdatedPricesInDateTimeRangeメソッドをどのように使用するのか把握していません。Coldfusionでコンプレックスオブジェクトを返すWebサービスを使用する

複雑なオブジェクト型を返し、返されたオブジェクト内の要素構造体にアクセスできません。次のように

エラー

Element <e.g. element name> is undefined in a Java object of type class org.tempuri.GetUpdatedPricesInDateTimeRangeResponseGetUpdatedPricesInDateTimeRangeResult. 

Webサービスが呼び出されているガイド:

<cfinvoke 
webservice="http://www.argusmedia.com/ArgusWSVSTO/ArgusOnline.asmx?wsdl" 
method="GetUpdatedPricesInDateTimeRange" 
returnvariable="PricesResponse"> 
    <cfinvokeargument name="authToken" value="#AuthToken#"/> 
    <cfinvokeargument name="fromDateTime" value="2017-03-01"/> 
    <cfinvokeargument name="toDateTime" value="2017-03-02"/> 
    <cfinvokeargument name="startId" value="0"/> 
</cfinvoke> 

任意のポインタが本当に役立つだろう。

編集1:変数 CFdump

編集2を返すにcfdump:リーの提案に基づき、これは私のために働いていたものです。次のように

XML

PricesResponse.get_any()[2].getAsString() 

XMLはそれに名前空間を持っていた、それゆえXML検索が働いた:

XmlSearch(XMLDoc,"//*[local-name()='Element_Name']") 
+3

を起動するには、のreturnVariableという名前の変数を返していますか?もしそうなら、それをダンプできますか? –

+0

@DanBracuk:cfdumpを追加しました。 –

+0

これはSOAPウェブサービスの権利ですか?あなたは例えばリクエストを生成しようとしましたか? soapUI? –

答えて

2

リーさんのコメントに基づいて、returnvariableget_any()方法を取得するために使用することができます基本となるXML

ダンプのget_any()は、メッセージ要素の配列を返します。

MessageElement

getAsString()get_any()リターン期待されるXML文字列の方法。

<cfdump var="#PricesResponse.get_any()[1].getAsString()#"> 

:意図されたXMLはMessageElement []配列要素のいずれかではなく、最初のものであってもよいです。

注2:次のようにXMLで名前空間を持つXMLSearchが働いた:

XmlSearch(XMLDoc,"//*[local-name()='Element_Name']") 
+0

解決を投稿していただきありがとうございます。単に「要素のどちらか」と言えば、要素のすべて*に関連するXMLが含まれていることを意味しますか? (私はAPIに精通していません)。 – Leigh

+0

@Leigh:返されたオブジェクトには、第2要素にのみデータを持つ関連XMLがありました。最初の要素にはスキーマ定義があります。これは他のAPIでは異なる場合があります。 –

+0

私が期待していたものではないことを明確にしてくれてありがとう。 – Leigh

関連する問題