gpt4 book ai didi

wcf - 来自 wsdl 文件 : Error Schema with target namespace could not be found 的 svcutil

转载 作者:行者123 更新时间:2023-12-02 08:20:26 24 4
gpt4 key购买 nike

在我的机器上,我有一个 WSDL 文件和所有必需的架构文件。我正在尝试使用 svcutil 从 WSDL 创建客户端代理代码。命令:

svcutil myfile.wsdl

我在使用 svcutil 时不断收到错误,但在使用soapUI 加载 wsdl 时没有问题(如果这意味着什么)。

我不断收到此错误:

Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Schema with target namespace 'http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0' could not be found.
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0']/wsdl:portType[@name='areventservice']

这是 WSDL:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="areventservice"
targetNamespace="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
xmlns:tns="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
xmlns:es="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0">



<wsdl:types>
<xsd:schema targetNamespace="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
xmlns:tns="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
xmlns:es="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0">

<xsd:include schemaLocation="arevent-service.xsd"/>
</xsd:schema>
</wsdl:types>

<wsdl:message name="SaveAREventWithShortNames">
<wsdl:part element="es:save-arevent-with-shortnames" name="SaveAREventWithShortNames"/>
</wsdl:message>

<wsdl:message name="RetrieveAREventByConsumerIdentifier">
<wsdl:part element="es:retrieve-arevent-by-consumer-agency-identifier" name="RetrieveAREventByConsumerIdentifier"/>
</wsdl:message>

<wsdl:message name="RetrieveAREventByConsumerAccountIdentifier">
<wsdl:part element="es:retrieve-arevent-by-consumer-account-agency-identifier" name="RetrieveAREventByConsumerAccountIdentifier"/>
</wsdl:message>

<wsdl:message name="RetrieveAREventResponse">
<wsdl:part element="es:retrieve-arevent-response" name="RetrieveAREventResponse"/>
</wsdl:message>

<wsdl:message name="SaveAREventResponse">
<wsdl:part element="es:save-arevent-response" name="SaveAREventResponse"/>
</wsdl:message>

<wsdl:portType name="areventservice">
<wsdl:operation name="SaveAREventWithShortNames">
<wsdl:input message="tns:SaveAREventWithShortNames" name="SaveAREventWithShortNames"/>
<wsdl:output message="tns:SaveAREventResponse" name="SaveAREventResponse"/>
</wsdl:operation>
<wsdl:operation name="RetrieveAREventByConsumerIdentifier">
<wsdl:input message="tns:RetrieveAREventByConsumerIdentifier" name="RetrieveAREventByConsumerIdentifier"/>
<wsdl:output message="tns:RetrieveAREventResponse" name="RetrieveAREventResponse"/>
</wsdl:operation>
<wsdl:operation name="RetrieveAREventByConsumerAccountIdentifier">
<wsdl:input message="tns:RetrieveAREventByConsumerAccountIdentifier" name="RetrieveAREventByConsumerAccountIdentifier"/>
<wsdl:output message="tns:RetrieveAREventResponse" name="RetrieveAREventResponseByAccountIdentifier"/>
</wsdl:operation>
</wsdl:portType>

这是架构文件 arevent-service.xsd(与 WSDL 位于同一目录中):

<?xml version="1.0" encoding="UTF-8"?>
<!-- (C)opyright 2004-2009 by CR Software, LLC - All Rights Reserved -->


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:as="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
targetNamespace="http://www.crsoftwareinc.com/xml/ns/titanium/event/areventservice/v1_0"
xmlns:common="http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0"
elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:import
schemaLocation="arevent-service-common.xsd"
namespace="http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0"/>

<xs:element name="save-arevent-with-shortnames" type="common:save-areventType" />

<xs:element name="retrieve-arevent-by-consumer-agency-identifier" type="common:retrieve-by-consumer-agency-idType" />

<xs:element name="retrieve-arevent-by-consumer-account-agency-identifier" type="common:retrieve-by-consumer-account-agency-idType" />

<xs:element name="retrieve-arevent-response" type="as:retrieve-arevent-responseType" />

<xs:complexType name="retrieve-arevent-responseType">
<xs:sequence>
<xs:element name="arevent-page-results" type="common:arevent-page-resultsType"
minOccurs="1" maxOccurs="1" >
<xs:annotation>
<xs:documentation>
arevent page results type
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>


<xs:element name="save-arevent-response" type="as:save-arevent-responseType" />

<xs:complexType name="save-arevent-responseType">
<xs:sequence>
<xs:element name="arevent" type="common:areventType"
minOccurs="1" maxOccurs="1" >
<xs:annotation>
<xs:documentation>
arevent type
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

目标 namespace 看起来都与我匹配。就像我说的,soapUI 加载 wsdl 没有问题。

我不知道该怎么办。

最佳答案

要么在命令行上指定所有 WSDL 和架构文件的路径,要么使用“添加服务引用”,这将为您完成此操作。

请注意,“添加服务引用”确实适用于本地系统上的文件 - 不仅仅是 URL 上的文件。

关于wcf - 来自 wsdl 文件 : Error Schema with target namespace could not be found 的 svcutil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6849580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com