Hi I want to create a Web Services where I receive a Template DOT word
a file XML and with these I create a Document that a I'll Send as Dime
Attachment.
<WebMethod()> _
Public Function CreateDimeWord( ByVal DotName As String, ByVal
sXML As String) As String
Dim respContext As SoapContext =
ResponseSoapCon text.Current
Try
Dim wrdAPP As Object
Dim oWordDoc As Object
Dim strdocPath As String
Dim sr As System.IO.Strea m
Dim i As Integer
Dim DocumentName As String
Dim sFileName As String
If respContext.Att achments.Count = 1 Then
sr = respContext.Att achments(0).Str eam
DocumentName =
respContext.Att achments(0).Id. ToString.Split( ":").GetValue(1 ).ToString
strdocPath = Application("Up loadPath") +
DocumentName
Dim objfilestream = New
System.IO.FileS tream(strdocPat h, System.IO.FileM ode.Create)
Dim buf(sr.Length) As Byte
While ((i =
respContext.Att achments(0).Str eam.Read(buf, 0, buf.Length)) > 0)
objfilestream.W rite(buf, 0, i)
End While
sFileName = "c:\temp\" & DotName & ".doc"
wrdAPP = CreateObject("W ord.Application ")
oWordDoc = wrdAPP.Document s.Open(strdocPa th, ,
True)
oWordDoc.SaveAs (sFileName)
wrdAPP.Run("Wor dHelper.Run", sXML)
oWordDoc.Save()
oWordDoc.Close( )
oWordDoc = Nothing
Dim dimeAttach As New
DimeAttachment( "applicatio n/msword", TypeFormat.Medi aType, sFileName)
respContext.Att achments.Add(di meAttach)
Return "1"
Else
Return "0"
End If
Catch ex As FieldAccessExce ption
Return ex.ToString
End Try
End Function
this is the client...in VB6
Private Sub Command1_Click( )
On Error GoTo errcode
Dim SOAPReader As MSSOAPLib30.Soa pReader30
Dim SOAPSerializer As MSSOAPLib30.Soa pSerializer30
Dim SOAPConnector As MSSOAPLib30.Soa pConnector30
Dim SOAPParser As DimeParser30
Dim SOAPRcvdAttachm ents As MSSOAPLib30.IRe ceivedAttachmen t
Dim SOAPComposer As DimeComposer30
Dim DownLoadFile As String
Dim SOAPFileAttachm ent As FileAttachment3 0
Dim sNomeAllegato As String
Dim allegato As String
Set SOAPConnector = New MSSOAPLib30.Htt pConnector30
SOAPConnector.P roperty("EndPoi ntURL") =
"http://ibcl14/GestioneModelli WS/GestModelli.asm x"
SOAPConnector.C onnect
' Set Method Call
SOAPConnector.P roperty("SoapAc tion") =
"http://tempuri.org/GestioneModelli WS/GestModelli/CreateDimeWord"
allegato = "E:\COM.dot "
Set SOAPFileAttachm ent = CreateObject("M SSOAP.FileAttac hment30")
SOAPFileAttachm ent.FileName = allegato
SOAPFileAttachm ent.DeleteAfter Sending = False
'For j = 3 To Len(allegato)
' strTestChar = Mid(allegato, Len(allegato) - j, 1)
' If strTestChar = "\" Then
' sNomeAllegato = Right(allegato, j)
' Exit For
' End If
'Next
SOAPConnector.B eginMessage
' Create DIME composer and serializer objects, then initialize the
' serializer with the composer.
Set SOAPComposer = CreateObject("M SSOAP.DimeCompo ser30")
Set SOAPSerializer = CreateObject("M SSOAP.SoapSeria lizer30")
SOAPSerializer. InitWithCompose r SOAPConnector.I nputStream,
SOAPComposer
' Serializer.Init Connector.Input Stream
' Write out the SOAP Envelope and Body start tags.
SOAPSerializer. StartEnvelope
SOAPSerializer. StartBody
' Start the method element.
SOAPSerializer. StartElement "CreateDimeWord ",
"http://tempuri.org/"
SOAPSerializer. StartElement "DotName"
SOAPSerializer. WriteString "Prova"
SOAPSerializer. EndElement
SOAPSerializer. StartElement "sXML"
SOAPSerializer. WriteString
"LIBRANET><COMU NICAZIONI><RECO RDS><RECORD><id _Comunicazione> 62</id_Comunica*zio ne><id_Installa zione>111111</id_Installazion e><c_TipoDelibe ra>DG
</c_TipoDelibera> </RECORD></RECORDS></COMUNICAZIONI></LIBRANET>"
SOAPSerializer. EndElement
SOAPSerializer. AddAttachment SOAPFileAttachm ent
SOAPSerializer. EndElement
' Write out the SOAP Envelope and Body end tags.
SOAPSerializer. EndBody
SOAPSerializer. EndEnvelope
' Tell the serializer that we are finished providing all message
' content (both the SOAP envelope and all attachments).
SOAPSerializer. Finished
SOAPConnector.E ndMessage
''''SOAPConnect or.BeginMessage
''''
''''Set SOAPComposer = CreateObject("M SSOAP.DimeCompo ser30")
''''Set SOAPSerializer = New MSSOAPLib30.Soa pSerializer30
''''SOAPSeriali zer.InitWithCom poser SOAPConnector.I nputStream,
SOAPComposer
''''
''''' Create/Send SOAP Message with Parameter "Number"
''''
''''SOAPSeriali zer.StartEnvelo pe
'''' SOAPSerializer. StartBody
'''' SOAPSerializer. StartElement "DownloadFi le",
"http://tempuri.org/"
'''' SOAPSerializer. StartElement "DocumentNa me"
'''' SOAPSerializer. WriteString sNomeAllegato
'''' SOAPSerializer. EndElement
''''' SOAPSerializer. StartElement "sXML"
''''' SOAPSerializer. WriteString "XX"
''''' SOAPSerializer. EndElement
'''' SOAPSerializer. AddAttachment SOAPFileAttachm ent
'''' SOAPSerializer. EndElement
'''' SOAPSerializer. EndBody
''''SOAPSeriali zer.EndEnvelope
''''
''''SOAPConnect or.EndMessage
Set SOAPReader = New SoapReader30
SOAPReader.Load SOAPConnector.O utputStream
If Not SOAPReader.Faul t Is Nothing Then
DownLoadFile = "0"
Else
DownLoadFile = "1"
End If
'Set SOAPReader = New SoapReader30
'Set SOAPParser = New DimeParser30
'If SOAPReader.Load WithParser(SOAP Connector.Outpu tStream, SOAPParser)
Then
' Set SOAPRcvdAttachm ents = SOAPReader.Atta chments.Item(0)
' SOAPRcvdAttachm ents.SaveToFile "C:\downloaded. doc"
' DownLoadFile = "OK"
'Else
' DownLoadFile = "no attachment"
'End If
'MsgBox DownLoadFile
Exit Sub
errcode:
MsgBox Err.Description
Unload Me
End Sub
The Web Services don't work
Why? Thanks a Lot