如何为C#中使用XSD.exe生成的类生成Soap Envelope和body

时间:2016-07-12 08:40:08

标签: c# soap

我有一个XSD,而后者又使用多个XSD。我使用XSD.exe生成了.cs文件。 Web服务操作我想称之为期望请求XML属于此类类型。我面临的问题是,这个Web服务的主机需要一个带有soap信封和Soap Body的XML。当我使用序列化.cs文件的对象生成XML时,它没有soap信封和正文。 我试过在网上找到这个,但没有找到任何有益的结果。

预期的XML:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>testuser</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">testwelcome1</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header>
    <soap:Body xmlns:ns1="http://capabilities.nat.bt.com/xsd/EDM/EMP/ManageDocument/CreateFolder">
        <ns1:CreateFolderRequest xmlns:ns2="http://wsi.nat.bt.com/2005/06/StandardHeader/" xmlns:ns3="http://capabilities.nat.bt.com/xsd/EDM/EMP/ManageDocument/Header/1.0">
            <ns2:standardHeader>
                <ns2:serviceState>
                    <ns2:stateCode>OK</ns2:stateCode>
                </ns2:serviceState>
                <ns2:serviceAddressing>
                    <ns2:from>Dummy</ns2:from>
                    <ns2:to>
                        <ns2:address>Dummy/ns2:address>
                    </ns2:to>
                    <ns2:replyTo>
                        <ns2:address>Dummy</ns2:address>
                    </ns2:replyTo>
                    <ns2:messageId>MessageID1</ns2:messageId>
                    <ns2:serviceName>Dummy</ns2:serviceName>
                    <ns2:action>AddDocumentRequest</ns2:action>
                </ns2:serviceAddressing>
            </ns2:standardHeader>
            <ns3:HeaderRequest>
                <ns3:AccountID>sharePoint_user</ns3:AccountID>
                <ns3:Password>Dummy</ns3:Password>
                <ns3:Domain>Dummy</ns3:Domain>
            </ns3:HeaderRequest>
            <ns1:RepositoryID>Dummy</ns1:RepositoryID>
            <ns1:FolderName>test_test_test_1</ns1:FolderName>
            <ns1:ParentID>null</ns1:ParentID>
            <ns1:CreatedDate>2012-03-02</ns1:CreatedDate>
            <ns1:OwnerID>null</ns1:OwnerID>
            <ns1:ParentPath>Test_Folder</ns1:ParentPath>
        </ns1:CreateFolderRequest>
    </soap:Body>
</soap:Envelope>

请帮忙。对不起,但我是这个SOAP的新手。

0 个答案:

没有答案