Guys,
If you are interested, here is some VB6 code that sends a file to .NET webservice. No MSXML - all hand coded.
Graeme Rhinoman
Dim serializer As New MSSOAPLib30.SoapSerializer30
Dim Connector As MSSOAPLib30.HttpConnector30
Dim Parser As New MSSOAPLib30.DimeParser30
Dim composer As New MSSOAPLib30.DimeComposer30
Dim Reader As MSSOAPLib30.SoapReader30
Dim inputStr As String
Dim sNewFileName As String
Dim sActualFileName As String
sNewFileName = OrigFileName
sActualFileName = Mid(sNewFileName, InStrRev(sNewFileName, "\"

+ 1)
Set Connector = New MSSOAPLib30.HttpConnector30
Connector.Property("EndPointURL"

=
Connector.Property("SoapAction"

= "
Connector.BeginMessage
serializer.InitWithComposer Connector.InputStream, composer
serializer.StartEnvelope
serializer.StartBody
serializer.WriteXml "<UploadFile xmlns='
serializer.WriteXml "<UFN>" & sActualFileName & "</UFN>"
serializer.WriteXml "<KeyCode>" & KeyCode & "</KeyCode>"
serializer.WriteXml "<UserId>" & UserId & "</UserId>"
serializer.WriteXml "</UploadFile>"
serializer.EndBody
serializer.EndEnvelope
' attach the file to SOAP
Dim m_oAttach As New MSSOAPLib30.FileAttachment30
m_oAttach.FileName = sNewFileName
m_oAttach.Property("DimeType"

= "application/x-zip-compressed, charset=utf-8"
m_oAttach.Property("DimeTNF"

= "media-type"
serializer.AddAttachment m_oAttach
serializer.Finished
Connector.EndMessage
Set Reader = New MSSOAPLib30.SoapReader30
On Error Resume Next
If Reader.Load(Connector.OutputStream) Then
If Not Reader.Fault Is Nothing Then
inputStr = Reader.FaultString.Text
Else
If IsObject(Reader.RpcResult) Then
inputStr = Reader.RpcResult.Text
Else
inputStr = "No Object"
GoTo UploadFail
End If
End If
Else
inputStr = "Reader Failed to load"
GoTo UploadFail
End If
UploadExit:
On Error Resume Next
If FileExists(sNewFileName) Then
Kill sNewFileName
End If
frmInetMain.MsgStatus.Caption = inputStr
frmInetMain.MsgStatus.Refresh
Exit Function
UploadFail:
inputStr = "An Upload error occurred, please contact Technical Support"
Resume UploadExit