2016-04-06 37 views
1

İşlem kimliğini içeren bir soap yanıtım var (TranId).Özellik aktarımı için SoapUI yanıt ayrıştırma

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m0="http://schemas.blablabla.com/two/1.0/filter.xsd" xmlns:m="http://schemas.blablabla.com/two/1.0/filter.wsdl"> 
    <SOAP-ENV:Body> 
     <m:AcctDebitRp xmlns:m="http://schemas.blablabla.com/two/1.0/filter.xsd"> 
     <Response Response="1" TranId="**30538801**" Ver="14.3" Product="filter"> 
      <m0:ApprovalCode>557885</m0:ApprovalCode> 
     </Response> 
     </m:AcctDebitRp> 
    </SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

İşlem kimliği değerini nasıl alabilirim?

declare namespace ns1='http://schemas.blablabla.com/two/1.0/filter.xsd'; 
//ns1:ApprovalCode 

o emlak devir adımında XQuery'yi kullanarak veya harika komut adımı kullanarak TranId değeri elde etmek mümkün mü:

Ben ApprovalCode değerini almak için SoapUI emlak devir adımında aşağıdaki kodu kullanıyorum?

cevap

1

@attributename çocuk adımı kullanarak öznitelikleri sorgulayabilirsiniz. Sağladığınız örnekte, <Response/> eleman takılı hiçbir ad alanına sahip, özellik için böylece sorgu basit

//*:Response/@TranId 

sadece değeri, data(...) fonksiyonunu uygulayarak düşünün özelliğini isterseniz:

data(//*:Response/@TranId) 
+0

Cevabınız için teşekkürler! String data (// Response/@ TranId) ekledim, ancak aktarılan değer [null]. Yanlış yaptığım şeyden bir işaret alabilir misin? – victor

+0

Tam SOAP sonucunun veya yalnızca bir snippet'in üzerine yazdığınız pasaj mı? Daha fazla isim alanı var gibi görünüyor. Daha alakalı bilgiler eklerseniz, lütfen yorumları kullanmak yerine sorunuzu düzenlemeyi düşünün ([FAQ] 'a bakın). –

+0

bir imagehttp eklemeye çalışıyor: //i11.pixs.ru/storage/7/7/6/soapquestJ_6037373_21430776.jpg – victor