VC中不接受附件的话用如下即可。
// Connect the reader to the output stream of the connector
   Reader->Load(_variant_t((IUnknown*)Connector->OutputStream), "");
接收附件的情况瞎,在vb中,只需要如下就可以了。
Reader.LoadWithParser(Connector.OutputStream, Parser)但是在VC中。 Parser格式就不对了。需要用IMessageParser格式。
但是怎么也弄不出来,网上好像又好多人再问这个问题,但是没有答案。希望谁知道回答一下。如果不方便给我发邮件也行
[email protected]

解决方案 »

  1.   

    VB的做法:Private Function DownLoadFile() As String
    Dim Serializer As SoapSerializer30
    Dim Reader As SoapReader30
    Dim ResultElm As IXMLDOMElement
    Dim FaultElm As IXMLDOMElement
    Dim Connector As SoapConnector30
    Dim Parser As DimeParser30
    Dim RcvdAttachments As MSSOAPLib30.IReceivedAttachmentSet Connector = New HttpConnector30
    Connector.Property("EndPointURL") = txtUrl.Text
    Connector.ConnectConnector.Property("SoapAction") = txtNamespace.Text + txtMethod.Text
    Connector.BeginMessageSet Serializer = New SoapSerializer30
    Serializer.Init Connector.InputStreamSerializer.StartEnvelope
    Serializer.StartBody
    Serializer.StartElement txtMethod.Text, txtNamespace.Text
    Serializer.EndElement
    Serializer.EndBody
    Serializer.EndEnvelopeSerializer.FinishedConnector.EndMessageSet Reader = New SoapReader30
    Set Parser = New DimeParser30If Reader.LoadWithParser(Connector.OutputStream, Parser) Then
    Set RcvdAttachments = Reader.Attachments.Item(0)
    RcvdAttachments.SaveToFile "C:\downloaded.txt"
    DownLoadFile = "OK"
    Else
    DownLoadFile = "no attachment"
    End If
    End Function在此拜托兄弟怎么翻译下面的语句到VC来,If Reader.LoadWithParser(Connector.OutputStream, Parser) Then
    Set RcvdAttachments = Reader.Attachments.Item(0)
    RcvdAttachments.SaveToFile "C:\downloaded.txt"
    DownLoadFile = "OK"
    Else
    DownLoadFile = "no attachment"
    End If
      

  2.   

    楼主你知道了也该分享下吧,愁死了后来人。
    终于弄明白了,分享给大家。
    http://blog.csdn.net/lyllylyq/archive/2011/04/16/6327750.aspx