mssoap1.dll

Hi

I am having a few problem using the MSSOAP1.dll

Basically I want to be able to connect to a webservice and extract a list of methods and the schema definitions for each.

The sample "very basic"code shows how I have created a WSDLReader and then step down to through the Services , PORTS and Operations to get to the ENUMSOAPMAPPER. The problem I have is that the schema of the SERVICE is complex and for exampel looks like this

<Create xmlns="http://www.elite.com/openapi/matterload">
<matter>
<MMATTER>string</MMATTER>
<MNAME>string</MNAME>
<MODEL>string</MODEL>
<MRTCODE>string</MRTCODE>
<MDEPT>string</MDEPT>
</matter>
<startDate>string</startDate>

If I message out the Elementname of the SoapMapper I only get <Matter> and <Startdate>.

The question is How can I get to the sub elements? Am I going about this the wrong way. Ideally I'd like to get hold of the actual XML of the service itself and then parse the XML myself.

Any help would be apprecdiated.
Dim Reader As WSDLReader
Dim Reader2 As WSDLReader
Dim EnumService As EnumWSDLService
Dim Service As WSDLService
Dim EnumPort As EnumWSDLPorts
Dim Port As WSDLPort
Dim EnumOperation As EnumWSDLOperations
Dim Operation As WSDLOperation
Dim EnumMapper As EnumSoapMappers
Dim Mapper As SoapMapper
Dim Fetched As Long
Dim ENUMPARTS As EnumSoapMappers

Dim objWSDLOperation As WSDLOperation
Dim objOperationPart As Object

Dim bAddParts As Boolean

' Set Operation = New WSDLOperation

Set Reader = New WSDLReader
Reader.Load WSDLFileName, WSMLFileName

Reader.GetSoapServices EnumService
EnumService.Next 1, Service, Fetched

Dim m_PortAddress As String
Dim m_SoapAction As String

Do While Fetched = 1
Service.GetSoapPorts EnumPort
EnumPort.Next 1, Port, Fetched

Do While Fetched = 1

Port.GetSoapOperations EnumOperation
EnumOperation.Next 1, Operation, Fetched

Do While Fetched = 1

m_PortAddress = Port.address
m_SoapAction = Operation.soapAction
MsgBox Operation.soapAction

Operation.GetOperationParts EnumMapper

EnumMapper.Next 1, Mapper, Fetched

Do While Fetched = 1

MsgBox Mapper.elementName

EnumMapper.Next 1, Mapper, Fetched

Loop

EnumOperation.Next 1, Operation, Fetched

Loop

EnumPort.Next 1, Port, Fetched
Loop

EnumService.Next 1, Service, Fetched
Loop
Set BuildOperation = objWSDLOperation
MsgBox "end"

[3015 byte] By [nickchild] at [2007-12-16]