【问题标题】:Service Reference: HTTP Status 404- Metadata contains a reference that cannot be resolved服务参考:HTTP 状态 404 - 元数据包含无法解析的参考
【发布时间】:2020-10-29 14:25:50
【问题描述】:

我正在尝试在我的 C# 控制台应用程序中连接到加利福尼亚税率公共 API,并收到下面的服务参考错误。我已经成功使用了大约 9 个月。我尝试在新应用程序中重新创建引用,但收到相同的错误。我不确定要采取哪些故障排除步骤。如果我能提供更多有用的信息,请告诉我。

服务位于此处并公开测试:http://services.gis.boe.ca.gov/api/taxrates/Rates.svc

下载时出错 'http://services.gis.boe.ca.gov/api/taxrates/Rates.svc/$metadata'。这 请求失败,HTTP 状态 404:未找到。元数据包含一个 无法解决的参考: 'http://services.gis.boe.ca.gov/api/taxrates/Rates.svc'。服务器 没有提供有意义的答复;这可能是由合同引起的 不匹配、会话过早关闭或内部服务器错误。如果 该服务是在当前解决方案中定义的,请尝试构建 解决方案并再次添加服务引用。

【问题讨论】:

    标签: c# web-services soap wsdl soap-client


    【解决方案1】:

    您从端点获取的 wsdl 无效。

    <xs:element name="TestResponse">
      <xs:element minOccurs="0" maxOccurs="1" name="TestResult" type="xs:string"/>          
    </xs:element>
    

    应该是

    <xs:element name="TestResponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="TestResult" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    

    同样的

    <xs:element name="GetRateResponse">
        <xs:element minOccurs="0" maxOccurs="1" name="GetRateResult" type="tns:CARateResponseCollection"/>
    </xs:element>
    

    还有

    <wsdl:message name="ISoapService_Test_OutputMessage">
        <wsdl:part name="parameters" element="tns:String"/>
    </wsdl:message>
    

    应该是

    <wsdl:message name="ISoapService_Test_OutputMessage">
      <wsdl:part name="parameters" element="tns:TestResponse"/>
    </wsdl:message>
    

    最后一个

    <wsdl:message name="ISoapService_GetRate_OutputMessage">
        <wsdl:part name="parameters" element="tns:CARateResponseCollection"/>
    </wsdl:message>
    

    必须

    <wsdl:message name="ISoapService_GetRate_OutputMessage">
            <wsdl:part name="parameters" element="tns:GetRateResponse/>
    </wsdl:message>
    

    【讨论】:

    • 太棒了!但是如何在客户端解决这个问题?还是我需要让服务更新 WSDL?
    • wsdl 需要在服务器端更新,所以它是正确的。那么您需要使用新的 wsdl 更新客户端以匹配。
    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2014-07-19
    • 1970-01-01
    相关资源
    最近更新 更多