2

我有一个 C# ASP.NET 站点,我正在尝试将 UPS 引用添加到该站点。我使用示例中的代码并导入了包含的 WSDL,除了RateService类之外,所有对象都正确映射到 wsdl。

这是我正在使用的代码示例和 WSDL

这是有错误的代码片段:

RateService rate = new RateService();
RateRequest rateRequest = new RateRequest();
UPSSecurity upss = new UPSSecurity();

编译错误是RateService找不到。

我很确定 WSDL 正在导入,因为其余的类编译得很好。UPS 是否在样品发布后更改了他们的 API?有人有想法么?

4

1 回答 1

2

您的 WSDL 文件有这个块:

<wsdl:service name="RateService">
    <wsdl:port name="RatePort" binding="tns:RateBinding">
        <!-- Production URL -->
            <!-- <soap:address location="https://onlinetools.ups.com/webservices/Rate"/> -->
            <!-- CIE (Customer Integration Environment) URL -->
            <soap:address location="https://wwwcie.ups.com/webservices/Rate"/>
    </wsdl:port>
</wsdl:service>

看起来RateService服务已定义。你确定它导入正确吗?

示例代码(在您的 zip 中)还显示了生成的 Web 参考 - 它有一个RateService类。

要将此引用添加到您的项目,请转到Add Service Reference,选择Advanced对话框底部的,然后选择Add Web Reference第二个对话框底部的。输入 WSDL 文件的 URL,然后添加引用。

确保将正确的using语句添加到代码文件以使用 WSDL 中的类型。

(这适用于 VS 2008 和 VS 2010。)

于 2013-02-02T19:05:44.740 回答