I am having a problem trying to parse thrugh my xml response. It does not get all the information in the response. Here is what my xml soap message looks like:
Here is what my vb code looks like:Code:<?xml version="1.0" encoding="utf-8"?>
<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:getCardResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://services.com">
<getCardReturn href="#id0" />
</ns1:getCardResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Card" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://www.mccoymyers.com/CardMaint">
<addrOne xsi:type="xsd:string">6200 Bell</addrOne>
<addrTwo xsi:type="xsd:string">
</addrTwo>
<atmOflLimit xsi:type="xsd:long">200</atmOflLimit>
<atmOnlLimit xsi:type="xsd:long">300</atmOnlLimit>
<cardAccounts soapenc:arrayType="ns2:CardAccount[4]" xsi:type="soapenc:Array">
<cardAccounts href="#id1" />
<cardAccounts href="#id2" />
<cardAccounts href="#id3" />
<cardAccounts href="#id4" />
</cardAccounts>
<cardType xsi:type="xsd:string">MD</cardType>
<chkOflLimit xsi:type="xsd:long">100</chkOflLimit>
<chkOnlLimit xsi:type="xsd:long">200</chkOnlLimit>
<city xsi:type="xsd:string">Bumsville</city>
<custName xsi:type="xsd:string">Test User</custName>
<expDate xsi:type="xsd:string">1010</expDate>
<issueDate xsi:type="xsd:string">0605</issueDate>
<issueStatus xsi:type="xsd:string">1</issueStatus>
<maxAtmTrans xsi:type="xsd:long">100</maxAtmTrans>
<maxOflLimit xsi:type="xsd:long">400</maxOflLimit>
<maxOnlLimit xsi:type="xsd:long">700</maxOnlLimit>
<maxPosTrans xsi:type="xsd:long">200</maxPosTrans>
<memberNbr xsi:type="xsd:int">1</memberNbr>
<nbrIssued xsi:type="xsd:string">1</nbrIssued>
<orderCard xsi:type="xsd:string">N</orderCard>
<orderPin xsi:type="xsd:string">N</orderPin>
<pan xsi:type="xsd:string">9999999999999999999</pan>
<pinOffset xsi:type="xsd:string">0000</pinOffset>
<pposOflLimit xsi:type="xsd:long">200</pposOflLimit>
<pposOnlLimit xsi:type="xsd:long">400</pposOnlLimit>
<state xsi:type="xsd:string">TX</state>
<status xsi:type="xsd:string">0</status>
<waiveSerChg xsi:type="xsd:string">A</waiveSerChg>
<zip xsi:type="xsd:string">79109</zip>
</multiRef>
<multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:CardAccount" xmlns:ns3="http://www.mccoymyers.com/CardMaint" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<acctDesc xsi:type="xsd:string">Savings number two</acctDesc>
<acctType xsi:type="xsd:string">11</acctType>
<id xsi:type="xsd:string">4</id>
<num xsi:type="xsd:string">1234567851</num>
<status xsi:type="xsd:string">1</status>
</multiRef>
<multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:CardAccount" xmlns:ns4="http://www.mccoymyers.com/CardMaint" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<acctDesc xsi:type="xsd:string">Savings number one</acctDesc>
<acctType xsi:type="xsd:string">11</acctType>
<id xsi:type="xsd:string">3</id>
<num xsi:type="xsd:string">1234567850</num>
<status xsi:type="xsd:string">1</status>
</multiRef>
<multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:CardAccount" xmlns:ns5="http://www.mccoymyers.com/CardMaint" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<acctDesc xsi:type="xsd:string">Checking number two</acctDesc>
<acctType xsi:type="xsd:string">01</acctType>
<id xsi:type="xsd:string">2</id>
<num xsi:type="xsd:string">1234567801</num>
<status xsi:type="xsd:string">1</status>
</multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:CardAccount" xmlns:ns6="http://www.mccoymyers.com/CardMaint" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<acctDesc xsi:type="xsd:string">Checking number one</acctDesc>
<acctType xsi:type="xsd:string">01</acctType>
<id xsi:type="xsd:string">1</id>
<num xsi:type="xsd:string">1234567800</num>
<status xsi:type="xsd:string">1</status>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
VB Code:
Option Explicit Dim oChild As IXMLDOMNode Dim Nodes As IXMLDOMNodeList Dim str As String Private Sub cmdGetTestCard_Click() Dim maintClient As SoapClient30 Set maintClient = New SoapClient30 maintClient.MSSoapInit "http://zeus:8080/Portal/services/CardMaint?wsdl", "CardMaintService", "CardMaint" Dim valTok As String frmKeyMgr.Visible = False valTok = frmKeyMgr.crypt(txtVersion.Text) Dim map As New Dictionary 'this doesn't work... the server receives the message and sends a response, but the response needs 'to be mapped. Set Nodes = maintClient.getCard(valTok, "REED01", "000", "7001", "9999999999999999999") Dim cnt as integer For Each oChild In Nodes cnt = cnt + 1 If cnt > 4 Then rtbCardInfo.Text = rtbCardInfo.Text & vbCrLf & oChild.Text End If Next oChild If Err <> 0 Then MsgBox Err.Description & vbCrLf & _ "faultCode=" & maintClient.FaultCode & vbCrLf & _ "faultString=" & maintClient.FaultString & vbCrLf & _ "faultActor=" & maintClient.FaultActor & vbCrLf & _ "detail=" & maintClient.Detail End If End Sub
This is what I get in my textbox:
I am missing all my cardAccount info. I have tried to load it into an DOM Document but not able to also tried putting my response in a string but I keep getting an error "Invalid property assignment". I get a "type mismatch " when I try to put it in a DOM document. Any help would be appreciated.Code:6200 Bell
200
300
MD
100
200
Amarillo
Test User
1010
0605
1
100
400
700
200
1
1
N
N
9999999999999999999
0000
200
400
TX
0
A
79109
