首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中使用California的tax rate API需要帮助

在C#中使用California的tax rate API需要帮助
EN

Stack Overflow用户
提问于 2018-12-14 04:49:41
回答 2查看 386关注 0票数 0

加利福尼亚州提供了这个CATaxRateAPI.cs文件,我将在此消息的末尾发布其中一些文件的代码。

不幸的是,他们没有提供任何我可以找到的如何使用它的示例,所以我正在为如何计算特定地址的税率而苦苦挣扎。

以下是我的代码,到目前为止,它缺少向他们的系统实际提交请求,因为我不知道如何做到这一点。

代码语言:javascript
复制
using services.gis.boe.ca.gov.api.taxrates;
       private void button2_Click(object sender, EventArgs e)
        {
            CARateRequest mrrequest = new CARateRequest();
            mrrequest.City = "Anaheim";
            mrrequest.State = "CA";
            mrrequest.StreetAddress = "1313 Disneyland Dr";
            mrrequest.ZipCode = 92802;

            //Obviously missing here is anything that actually sends the request to the california servers
            //var mytaxresult = GetRate(mrrequest);
            //MessageBox.Show(mytaxresult);
        }

我不能发布整个CATaxRateAPI.cs文件,因为它太长了,但这是加利福尼亚提供的一些文件。有人能把我引向正确的方向,这样我就知道如何将我的请求发送到他们的服务器上吗?

代码语言:javascript
复制
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[assembly: System.Runtime.Serialization.ContractNamespaceAttribute("http://services.gis.boe.ca.gov/api/taxrates", ClrNamespace="services.gis.boe.ca.gov.api.taxrates")]

namespace services.gis.boe.ca.gov.api.taxrates
{
    using System.Runtime.Serialization;


    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CARateRequest", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class CARateRequest : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string CityField;

        private System.Nullable<double> LatitudeField;

        private System.Nullable<double> LongitudeField;

        private string StateField;

        private string StreetAddressField;

        private string TokenField;

        private System.Nullable<int> ZipCodeField;

        private System.Nullable<int> ZipCodePlusFourField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string City
        {
            get
            {
                return this.CityField;
            }
            set
            {
                this.CityField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Latitude
        {
            get
            {
                return this.LatitudeField;
            }
            set
            {
                this.LatitudeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Longitude
        {
            get
            {
                return this.LongitudeField;
            }
            set
            {
                this.LongitudeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string State
        {
            get
            {
                return this.StateField;
            }
            set
            {
                this.StateField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StreetAddress
        {
            get
            {
                return this.StreetAddressField;
            }
            set
            {
                this.StreetAddressField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Token
        {
            get
            {
                return this.TokenField;
            }
            set
            {
                this.TokenField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> ZipCode
        {
            get
            {
                return this.ZipCodeField;
            }
            set
            {
                this.ZipCodeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> ZipCodePlusFour
        {
            get
            {
                return this.ZipCodePlusFourField;
            }
            set
            {
                this.ZipCodePlusFourField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CARateResponseCollection", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class CARateResponseCollection : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string AppVersionField;

        private services.gis.boe.ca.gov.api.taxrates.CARateResponse[] CARateResponsesField;

        private string DisclaimerField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string AppVersion
        {
            get
            {
                return this.AppVersionField;
            }
            set
            {
                this.AppVersionField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public services.gis.boe.ca.gov.api.taxrates.CARateResponse[] CARateResponses
        {
            get
            {
                return this.CARateResponsesField;
            }
            set
            {
                this.CARateResponsesField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Disclaimer
        {
            get
            {
                return this.DisclaimerField;
            }
            set
            {
                this.DisclaimerField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CARateResponse", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class CARateResponse : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private int BufferSizeField;

        private services.gis.boe.ca.gov.api.taxrates.CARateRequest CARateRequestField;

        private services.gis.boe.ca.gov.api.taxrates.Error[] ErrorsField;

        private System.DateTime ResponseDateField;

        private services.gis.boe.ca.gov.api.taxrates.RateInformation[] ResponsesField;

        private string TermsOfUseField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public int BufferSize
        {
            get
            {
                return this.BufferSizeField;
            }
            set
            {
                this.BufferSizeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public services.gis.boe.ca.gov.api.taxrates.CARateRequest CARateRequest
        {
            get
            {
                return this.CARateRequestField;
            }
            set
            {
                this.CARateRequestField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public services.gis.boe.ca.gov.api.taxrates.Error[] Errors
        {
            get
            {
                return this.ErrorsField;
            }
            set
            {
                this.ErrorsField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime ResponseDate
        {
            get
            {
                return this.ResponseDateField;
            }
            set
            {
                this.ResponseDateField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public services.gis.boe.ca.gov.api.taxrates.RateInformation[] Responses
        {
            get
            {
                return this.ResponsesField;
            }
            set
            {
                this.ResponsesField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string TermsOfUse
        {
            get
            {
                return this.TermsOfUseField;
            }
            set
            {
                this.TermsOfUseField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Error", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class Error : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string CodeField;

        private string MessageField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Code
        {
            get
            {
                return this.CodeField;
            }
            set
            {
                this.CodeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Message
        {
            get
            {
                return this.MessageField;
            }
            set
            {
                this.MessageField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="RateInformation", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class RateInformation : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private services.gis.boe.ca.gov.api.taxrates.RateDetails DetailsField;

        private System.Nullable<double> RateField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public services.gis.boe.ca.gov.api.taxrates.RateDetails Details
        {
            get
            {
                return this.DetailsField;
            }
            set
            {
                this.DetailsField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Rate
        {
            get
            {
                return this.RateField;
            }
            set
            {
                this.RateField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="RateDetails", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.CARateRequest))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.CARateResponseCollection))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.CARateResponse[]))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.CARateResponse))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.Error[]))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.Error))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.RateInformation[]))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(services.gis.boe.ca.gov.api.taxrates.RateInformation))]
    public partial class RateDetails : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string CalcMethodField;

        private object CityField;

        private string CommentsField;

        private string ConfidenceField;

        private string CountyField;

        private string JurisdictionField;

        private string TACField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string CalcMethod
        {
            get
            {
                return this.CalcMethodField;
            }
            set
            {
                this.CalcMethodField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public object City
        {
            get
            {
                return this.CityField;
            }
            set
            {
                this.CityField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Comments
        {
            get
            {
                return this.CommentsField;
            }
            set
            {
                this.CommentsField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Confidence
        {
            get
            {
                return this.ConfidenceField;
            }
            set
            {
                this.ConfidenceField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string County
        {
            get
            {
                return this.CountyField;
            }
            set
            {
                this.CountyField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Jurisdiction
        {
            get
            {
                return this.JurisdictionField;
            }
            set
            {
                this.JurisdictionField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string TAC
        {
            get
            {
                return this.TACField;
            }
            set
            {
                this.TACField = value;
            }
        }
    }
}


[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://services.gis.boe.ca.gov/api/taxrates", ConfigurationName="CATaxRateAPI")]
public interface CATaxRateAPI
{

    [System.ServiceModel.OperationContractAttribute(Action="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/Hello", ReplyAction="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/HelloResponse")]
    string Hello(int value);

    [System.ServiceModel.OperationContractAttribute(Action="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/Hello", ReplyAction="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/HelloResponse")]
    System.Threading.Tasks.Task<string> HelloAsync(int value);

    [System.ServiceModel.OperationContractAttribute(Action="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/GetRate", ReplyAction="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/GetRateResponse")]
    services.gis.boe.ca.gov.api.taxrates.CARateResponseCollection GetRate(services.gis.boe.ca.gov.api.taxrates.CARateRequest request);

    [System.ServiceModel.OperationContractAttribute(Action="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/GetRate", ReplyAction="http://services.gis.boe.ca.gov/api/taxrates/CATaxRateAPI/GetRateResponse")]
    System.Threading.Tasks.Task<services.gis.boe.ca.gov.api.taxrates.CARateResponseCollection> GetRateAsync(services.gis.boe.ca.gov.api.taxrates.CARateRequest request);
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public interface CATaxRateAPIChannel : CATaxRateAPI, System.ServiceModel.IClientChannel
{
}

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
public partial class CATaxRateAPIClient : System.ServiceModel.ClientBase<CATaxRateAPI>, CATaxRateAPI
{

    public CATaxRateAPIClient()
    {
    }

    public CATaxRateAPIClient(string endpointConfigurationName) : 
            base(endpointConfigurationName)
    {
    }

    public CATaxRateAPIClient(string endpointConfigurationName, string remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public CATaxRateAPIClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }

    public CATaxRateAPIClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(binding, remoteAddress)
    {
    }

    public string Hello(int value)
    {
        return base.Channel.Hello(value);
    }

    public System.Threading.Tasks.Task<string> HelloAsync(int value)
    {
        return base.Channel.HelloAsync(value);
    }

    public services.gis.boe.ca.gov.api.taxrates.CARateResponseCollection GetRate(services.gis.boe.ca.gov.api.taxrates.CARateRequest request)
    {
        return base.Channel.GetRate(request);
    }

    public System.Threading.Tasks.Task<services.gis.boe.ca.gov.api.taxrates.CARateResponseCollection> GetRateAsync(services.gis.boe.ca.gov.api.taxrates.CARateRequest request)
    {
        return base.Channel.GetRateAsync(request);
    }
}
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[assembly: System.Runtime.Serialization.ContractNamespaceAttribute("http://services.gis.boe.ca.gov/api/taxrates", ClrNamespace="services.gis.boe.ca.gov.api.taxrates")]

namespace services.gis.boe.ca.gov.api.taxrates
{
    using System.Runtime.Serialization;


    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CARateRequest", Namespace="http://services.gis.boe.ca.gov/api/taxrates")]
    public partial class CARateRequest : object, System.Runtime.Serialization.IExtensibleDataObject
    {

        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

        private string CityField;

        private System.Nullable<double> LatitudeField;

        private System.Nullable<double> LongitudeField;

        private string StateField;

        private string StreetAddressField;

        private string TokenField;

        private System.Nullable<int> ZipCodeField;

        private System.Nullable<int> ZipCodePlusFourField;

        public System.Runtime.Serialization.ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string City
        {
            get
            {
                return this.CityField;
            }
            set
            {
                this.CityField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Latitude
        {
            get
            {
                return this.LatitudeField;
            }
            set
            {
                this.LatitudeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<double> Longitude
        {
            get
            {
                return this.LongitudeField;
            }
            set
            {
                this.LongitudeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string State
        {
            get
            {
                return this.StateField;
            }
            set
            {
                this.StateField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StreetAddress
        {
            get
            {
                return this.StreetAddressField;
            }
            set
            {
                this.StreetAddressField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Token
        {
            get
            {
                return this.TokenField;
            }
            set
            {
                this.TokenField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> ZipCode
        {
            get
            {
                return this.ZipCodeField;
            }
            set
            {
                this.ZipCodeField = value;
            }
        }

        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Nullable<int> ZipCodePlusFour
        {
            get
            {
                return this.ZipCodePlusFourField;
            }
            set
            {
                this.ZipCodePlusFourField = value;
            }
        }
    }

    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
EN

回答 2

Stack Overflow用户

发布于 2018-12-14 05:07:03

你没有说你有什么版本的visual studio,它们之间的说明略有不同,但大意是:

在解决方案资源管理器中,右键单击引用,单击添加服务引用,然后添加对此URL的引用:

http://services.gis.boe.ca.gov/api/taxrates/rates.svc?singlewsdl

完成向导

Visual studio将创建一组客户端类,您可以在这些类上实例化和调用方法。

票数 2
EN

Stack Overflow用户

发布于 2018-12-14 08:39:18

如果其他人正在寻找关于CA Tax rate API的具体答案,这里是我修改后的代码,现在可以使用了。我使用了Caius Jard答案中的建议来添加服务引用,然后使用了以下代码:

代码语言:javascript
复制
    private void button2_Click(object sender, EventArgs e)
    {

        // Use the 'client' variable to call operations on the service.
        CARateRequest mrrequest = new CARateRequest();
        mrrequest.City = "Anaheim";
        mrrequest.State = "CA";
        mrrequest.StreetAddress = "1313 Disneyland Dr";
        mrrequest.ZipCode = 92802;
        CATaxRateAPIClient client = new CATaxRateAPIClient();
        var myrate = client.GetRate(mrrequest);
        MessageBox.Show(myrate.CARateResponses[0].Responses[0].Rate.ToString()); 
        // Close the client.
        client.Close();
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53769851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档