Re: what's so wrong with my code?? Just trying to save a single node out of a SOAP Envelope
- From: monsalvo@xxxxxxxxx
- Date: Tue, 12 Aug 2008 10:38:00 -0700 (PDT)
Thanks a lot Joe!!
I'll figuring things out. Wanna get your book on XML here in
Argentina. They have it listed. Though delivery will take some 45
days.
Regards.
Martin
On Aug 8, 4:03 am, "Joe Fawcett" <joefawc...@xxxxxxxxxxx> wrote:
<monsa...@xxxxxxxxx> wrote in message
news:36b652eb-52fb-4e8e-a022-9af51470c3a3@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
What's so wrong with my code?
This line is part of a VBScript soap client part of a DTS wich is
functional in a 90 percent.
strText = .responseXML.selectSingleNode("//" login "loginReturn")
Produces the following error
Char: 46
Error: Expeted )
If I code it like this
strText = .responseXML.selectSingleNode("//loginReturn")r
I get this error..
Char: 1
Error: Object doesn't support this property or method
If I Place ) in char 46 I get this error.
Error is Expected end of Statement.
I just want to extract a single node (loginReturn) out of the SOAP
Envelope instead of saving the whole SOAP reponse. I'm able to save
the full envelope to a file, but that is not what I want.
It would be the same, what if I want to store the value of loginReturn
in this case 481557228026 in a variable?
Just in case what follows is the response envelop from my web service.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:loginResponse soapenv:encodingStyle="http://
schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://nn.nn.nn.com">
<loginReturn xsi:type="xsd:string">481557228026</loginReturn>
</ns1:loginResponse>
</soapenv:Body>
</soapenv:Envelope>
Please forgive my ingnorance I'm totally a newcomer to XML and
VBscript.
Thanks in Advance.
Martin
Neither expression is not syntactically correct.
You need, assuming you have mapped the namespace URIs to the prefixes
'soapenv' and 'ser' as per my earlier response):
Dim oLoginNode
Set oLoginNode =
.responseXML.selectSingleNode("/*/soapenv:Body/ser:loginResponse/ser:loginReturn")
MsgBox oLoginNode.text
or for a more inefficient search:
Set oLoginNode = .responseXML.selectSingleNode("//ser:loginReturn")
If you are using the responseXML directly you should call:
.responseXML.setproperty "SelectionLanguage", "XPath"
before using selectSingleNode or selectNodes.
--
Joe Fawcett (MVP - XML)http://joe.fawcett.name- Hide quoted text -
- Show quoted text -
.
- References:
- Prev by Date: XSL, XSLT frustration
- Next by Date: Re: XSL, XSLT frustration
- Previous by thread: Re: what's so wrong with my code?? Just trying to save a single node out of a SOAP Envelope
- Next by thread: Seek in huge xml-files
- Index(es):
Relevant Pages
|
Loading