Voorbeeld Classic ASP SOAP ProcessSalesInvoices

Gewijzigd op Thu, 16 Sep 2021 om 01:33 PM

Introductie


Hieronder vind je een voorbeeld van een applicatie waarmee je met PHP verkoopfacturen via de methode ProcessSalesInvoices(sessionID, administrationId, xmlDoc) in Yuki kunt aanmaken.


Voorbeeld


<%
Dim objXmlHttp
Dim objXmlHttp2
Dim strSessionId
Dim strXml
Dim strAccessKey
Dim strAdministrationId
Dim strWebserviceUrl
Dim strSalesXml

strAccessKey = "VERVANGEN MET WEBSERVICEACCESSKEY"
strAdministrationId = "VERVANGEN MET ADMINISTRATIONID"
strWebserviceUrl = "https://api.yukiworks.nl/ws/Sales.asmx"

' Build SOAP XML message for WebServiceMethod "http://www.theyukicompany.com/Authenticate".
strXml = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
                        "<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" & _
                        "<soap12:Body>" & _
                        "<Authenticate xmlns=""http://www.theyukicompany.com/"">" & _
                        "<accessKey>" & strAccessKey & "</accessKey>" & _

                        "</Authenticate>" & _
                        "</soap12:Body>" & _
                        "</soap12:Envelope>"

' Create ServerXMLHTTP object.
Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "POST", strWebserviceUrl, False
objXmlHttp.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
objXmlHttp.setRequestHeader "SOAPAction", "http://www.theyukicompany.com/Authenticate"
objXmlHttp.setRequestHeader "Content-Length", Len(strXml)

' Send SOAP message.
objXmlHttp.send strXml

' Print out the request status.
Response.Write "WebServiceMethod ""Authenticate"" request status: <b>" & objXmlHttp.status & " " & objXmlHttp.statusText & "</b><br /><br />"

' Print out the SOAP XML response.
Response.Write "<div style=""border: solid 1px black;"">" & Server.HTMLEncode(objXmlHttp.responseText) & "</div><br /><br />"

' Parse sessionKey from SOAP XML response with ActiveXObject. If the ActiveXObject "MSXML2.DomDocument.X.X" cannot be found try to find
' another version on MSDN.
Set objXML = Server.CreateObject("MSXML2.DomDocument.3.0")
objXML.loadXML(objXmlHttp.responseText)
strSessionId = objXML.selectNodes("/").item(0).text

Set objXML = Nothing
Set objXmlHttp = Nothing

strSalesXml = "<SalesInvoices xmlns=""urn:xmlns:http://www.theyukicompany.com:salesinvoices""" & _

                " xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">" & _
                "  <SalesInvoice>" & _

                "    <Reference>XX-1234</Reference>" & _

                "    <Subject>Testfactuur - 1</Subject>" & _
                "    <PaymentMethod>ElectronicTransfer</PaymentMethod>" & _
                "    <Process>true</Process>" & _
                "    <EmailToCustomer>false</EmailToCustomer>" & _
                "    <Layout />" & _
                "    <Date>2012-06-22</Date>" & _
                "    <DueDate>2012-07-22</DueDate>" & _
                "    <PriceList />" & _
                "    <Currency />" & _
                "    <Remarks />" & _
                "    <Contact>" & _
                "      <ContactCode>1122</ContactCode>" & _
                "      <FullName>Apple Sales International</FullName>" & _
                "      <FirstName />" & _
                "      <MiddleName />" & _
                "      <LastName />" & _
                "      <Gender>Male</Gender>" & _
                "      <CountryCode>NL</CountryCode>" & _
                "      <City>Rotterdam</City>" & _
                "      <Zipcode>1234 AA</Zipcode>" & _
                "      <AddressLine_1>Bergweg 25</AddressLine_1>" & _
                "      <AddressLine_2 />" & _
                "      <EmailAddress>info@test.nl</EmailAddress>" & _
                "      <Website />" & _
                "      <CoCNumber />" & _
                "      <VATNumber />" & _
                "      <ContactType>Person</ContactType>" & _
                "    </Contact>" & _
                "    <InvoiceLines>" & _
                "      <InvoiceLine>" & _
                "        <Description>Regel 1</Description>" & _
                "        <ProductQuantity>2</ProductQuantity>" & _
                "        <Product>" & _
                "          <Description>Product 1</Description>" & _
                "          <Reference>TP-1122</Reference>" & _
                "          <Category xsi:nil=""true"" />" & _
                "          <SalesPrice>14.88</SalesPrice>" & _
                "          <VATPercentage>6.00</VATPercentage>" & _
                "          <VATIncluded>true</VATIncluded>" & _
                "          <VATType>2</VATType>" & _
                "          <GLAccountCode></GLAccountCode>" & _
                "          <Remarks />" & _
                "        </Product>" & _
                "      </InvoiceLine>" & _
                "    </InvoiceLines>" & _
                "  </SalesInvoice>" & _
                "</SalesInvoices>"

' Build SOAP XML message for WebServiceMethod "http://www.theyukicompany.com/ProcessSalesInvoices".
strXml = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
                        "<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" & _

                        "<soap12:Body>" & _

                        "<ProcessSalesInvoices xmlns=""http://www.theyukicompany.com/"">" & _

                        "<sessionId>" & strSessionId & "</sessionId>" & _

                        "<administrationId>" & strAdministrationId & "</administrationId>" & _

                        "<xmlDoc>" & strSalesXml & "</xmlDoc>" & _

                        "</ProcessSalesInvoices>" & _

                        "</soap12:Body>" & _

                        "</soap12:Envelope>"

' Create ServerXMLHTTP object.
Set objXmlHttp2 = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp2.open "POST", strWebserviceUrl, False
objXmlHttp2.setRequestHeader "SOAPAction", "http://www.theyukicompany.com/ProcessSalesInvoices"
objXmlHttp2.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
objXmlHttp2.setRequestHeader "Content-Length", Len(strXml)

' Send SOAP message.
objXmlHttp2.send strXml

' Print out the request status.
Response.Write "WebServiceMethod ""ProcessSalesInvoices"" request status: <b>" & objXmlHttp2.status & " " & objXmlHttp2.statusText & "</b><br /><br />"

' Print out the SOAP XML response.
Response.Write "<div style=""border: solid 1px black;"">" & Server.HTMLEncode(objXmlHttp2.responseText) & "</div>"

Set objXmlHttp2 = Nothing
%>


Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren