2011-04-23 74 views
0

我试图从该网站上使用Web服务的XML Web服务:http://www.averittexpress.com/services/technology/webservices.html消费在.NET 4.0中

我试图用的是页面上的第一个一个Web服务:http://webservices.averittexpress.com/TransitTimeService

我从来没有消费过一个Web服务,所以我不知道从哪里开始。我已经完成了搜索,但所有出现的文章和博客文章已近10年之久。

我尝试添加一个Web引用到我在Visual Studio中的项目并输入服务的URL,但我刚刚得到一个错误。

有人能带我走向正确的方向吗?

编辑:

错误消息:

的HTML文档不包含Web服务发现信息。 下载'http://webservices.averittexpress.com/TransitTimeService/$metadata'时出错。 请求失败,HTTP状态404:未找到。

编辑2:

我添加web引用时使用http://webservices.averittexpress.com/TransitTimeService?WSDL。 XML在预览窗口中加载,但我仍然收到这些错误:

*文档被理解,但无法处理。 - WSDL文档包含无法解析的链接。 - 下载'http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd'时出错。 。 - 请求,HTTP状态404失败:未找到*

而这些线路在预览窗口中高亮红:

<definitions name="TransitTimeService" 
    targetNamespace="http://webservices.averittexpress.com/TransitTimeService" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" <!-- highlighted red --> 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" <!-- highlighted red --> 
    xmlns:tns="http://webservices.averittexpress.com/TransitTimeService" <!-- highlighted red --> 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <!-- highlighted red --> 
+1

什么是错误? – 2011-04-23 05:19:31

+1

嗨史蒂文,当你作为服务参考添加时,你会得到什么错误。 – kobe 2011-04-23 05:19:56

+0

对不起,应该把错误放在首位。我编辑了我原来的帖子,现在在里面。 – Steven 2011-04-23 05:21:29

回答

0

使用以下网址:http://webservices.averittexpress.com/TransitTimeService?WSDL

你可以导入WSDL作为Web参考,或者您可以通过执行以下操作手动创建代理:

+0

谢谢朱丽叶。创建Web引用时,我使用了http://webservices.averittexpress.com/TransitTimeService?WSDL。我进一步了一点,但我仍然犯错误。我编辑了我的原始帖子以显示错误。 – Steven 2011-04-23 05:38:46

0

当您想要创建Web或服务引用时,您需要Web服务的WSDL。对于大多数标准的Web服务,您可以通过附加一个?wsdl到基础URL像这样的结尾得到服务的WSDL:

http://webservices.averittexpress.com/TransitTimeService?wsdl

在这种情况下,以上网址重定向到这一点:

http://webservices.averittexpress.com/TransitTimeService/TransitTimeService.wsdl

您应该能够使用其中任何一种来生成Web或服务引用。但是,在这种特殊情况下,TransitTimeService.wsdl中引用了一个文件,该文件在该服务器上似乎不存在:TransitTimeService_schema1.xsd。当我试图为该WSDL创建服务引用时,我得到一个404,表示该模式文件不存在。下面的URL是模式应该在的地方,但它不在那里,所以你可能无法轻松地为这个服务生成一个引用。

http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd

+0

谢谢安迪,我想我必须联系该公司。 – Steven 2011-04-23 05:39:53

1
+0

当我尝试添加Web引用时,它试图找到http://webservices.averittexpress.com/TransitTimeService/TransitTimeService_schema1.xsd,但找不到它。有没有办法改变Web引用的模式路径? – Steven 2011-04-23 05:49:26

+0

看起来像wsdl有一些不良的参考。我没有尝试过,但你可以尝试下载XML(通过网页浏览器)修复链接,并采取朱丽叶给的指示。但使用修改后的版本。否则,您将不得不使用第一页上的电话或电子邮件联系人 – 2011-04-23 06:14:57