Create WebServices with WOrd

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Federico

    #1

    Create WebServices with WOrd

    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

Working...