Svcutil поддерживает WSDL - PullRequest
0 голосов
/ 06 мая 2011

У меня проблема с компиляцией WSDL (не уверен, что его версия может быть 1.1 / 2.0) документ со Svcutil.Это дает ниже предупреждение.Также svcutil не может генерировать несколько интерфейсов enum.Может быть, это происходит из-за предупреждения ниже.Я пытался использовать svcutil2 (codeplex), но он вообще не стабилен.Мой коллега скомпилировал тот же документ WSDL с помощью инструмента Java Axis 1.2, который работает отлично.Теперь не уверен, что делать.: - (

Предупреждение: ошибка с именем TechnicalFault в операции bookDeal не может быть импортирована. Неподдерживаемый WSDL, для сообщений об ошибках поддерживается только одна часть сообщения. Это сообщение об ошибке ссылается на ноль или более одной части сообщения. Если у вас есть правкадоступ к файлу WSDL позволяет устранить проблему, удалив дополнительные части сообщения, так что сообщение об ошибке ссылается только на одну часть.

Предупреждение. Ошибка с именем BusinessFault в операции bookDeal не может быть импортирована. Неподдерживаемый WSDL, только одно сообщениечасть поддерживается для сообщений об ошибках. Это сообщение об ошибке ссылается на ноль или более одной части сообщения. Если у вас есть доступ для редактирования к файлу WSDL, вы можете устранить проблему, удалив дополнительные части сообщения, чтобы сообщение об ошибке ссылалось только на одну часть.

Предупреждение: ошибка с именем ValidationFault в операции bookDeal не может быть импортирована. Неподдерживаемый WSDL, для сообщений об ошибках поддерживается только одна часть сообщения. Это сообщение об ошибке ссылается на ноль или более одной части сообщения. Если дау вас есть доступ для редактирования к файлу WSDL, вы можете исправить проблему, удалив дополнительные части сообщения, чтобы сообщение об ошибке ссылалось только на одну часть.

Предупреждение: необязательный элемент расширения WSDL 'header' из пространства имен 'http://schemas.xmlsoap.org/wsdl/soap/' не был обработан.XPath: // WSDL: определения [@ = целевое пространство 'нс: // abcGroup / globalMarkets / tradeExecution / fxMmDealExecutionService / v1 / WSDL'] / WSDL: связывание [@ имя = 'SOAPService_Binding1'] / WSDL: операция [@ имя =»bookDeal '] / wsdl: fault [@ name =' TechnicalFault ']

Предупреждение: необязательный элемент расширения WSDL' header 'из пространства имен' http://schemas.xmlsoap.org/wsdl/soap/' не был обработан.XPath: // WSDL: определения [@ = целевое пространство 'нс: // abcGroup / globalMarkets / tradeExecution / fxMmDealExecutionService / v1 / WSDL'] / WSDL: связывание [@ имя = 'SOAPService_Binding1'] / WSDL: операция [@ имя =»bookDeal '] / wsdl: fault [@ name =' BusinessFault ']

Предупреждение: необязательный элемент расширения WSDL' header 'из пространства имен' http://sch emas.xmlsoap.org/wsdl/soap/ не былобрабатываются.XPath: // WSDL: определения [@ = целевое пространство 'нс: // abcGroup / globalMarkets / tradeExecution / fxMmDealExecutionService / v1 / WSDL'] / WSDL: связывание [@ имя = 'SOAPService_Binding1'] / WSDL: операция [@ имя =»bookDeal '] / wsdl: fault [@ name =' ValidationFault ']

Если я комментирую несколько вещей в WSDL, тогда svcutil компилирует документ. вы можете увидеть строку комментариев ниже.

<wsdl:message name="bookDeal">
    <wsdl:part name="in" element="tns:bookDeal"/>
    <wsdl:part name="oob" element="ns0:messageContext"/>
</wsdl:message>
<wsdl:message name="bookDealResponse">
    <wsdl:part name="out" element="tns:bookDealResponse"/>
    <wsdl:part name="oob" element="ns0:messageContext"/>
</wsdl:message>
<wsdl:message name="bookDeal_TechnicalFault">
    <!--<wsdl:part name="techFault" element="ns1:technicalFault"/>-->
    <wsdl:part name="oob" element="ns0:messageContext"/>
</wsdl:message>
<wsdl:message name="bookDeal_BusinessFault">
    <!--<wsdl:part name="bizFault" element="ns1:businessFault"/>-->
    <wsdl:part name="oob" element="ns0:messageContext"/>
</wsdl:message>
<wsdl:message name="bookDeal_ValidationFault">
    <!--<wsdl:part name="vldFault" element="ns1:validationFault"/>-->
    <wsdl:part name="oob" element="ns0:messageContext"/>
</wsdl:message>
<wsdl:portType name="FXMMDealExecutionServiceInterface">
    <wsdl:operation name="bookDeal">
        <wsdl:input message="tns:bookDeal"/>
        <wsdl:output message="tns:bookDealResponse"/>
        <wsdl:fault name="TechnicalFault" message="tns:bookDeal_TechnicalFault"/>
        <wsdl:fault name="BusinessFault" message="tns:bookDeal_BusinessFault"/>
        <wsdl:fault name="ValidationFault" message="tns:bookDeal_ValidationFault"/>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SOAPService_Binding1" type="tns:FXMMDealExecutionServiceInterface">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="bookDeal">
        <wsdl:documentation/>
        <soap:operation style="document" soapAction="bookDeal"/>
        <wsdl:input>
            <soap:body use="literal" parts="in"/>
            <soap:header use="literal" message="tns:bookDeal" part="oob"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" parts="out"/>
            <soap:header use="literal" message="tns:bookDealResponse" part="oob"/>
        </wsdl:output>
        <wsdl:fault name="TechnicalFault">
            <soap:fault use="literal" name="TechnicalFault"/>
            <!--<soap:header use="literal" message="tns:bookDeal_TechnicalFault" part="oob"/>-->
        </wsdl:fault>
        <wsdl:fault name="BusinessFault">
            <soap:fault use="literal" name="BusinessFault"/>
            <!--<soap:header use="literal" message="tns:bookDeal_BusinessFault" part="oob"/>-->
        </wsdl:fault>
        <wsdl:fault name="ValidationFault">
            <soap:fault use="literal" name="ValidationFault"/>
            <!--<soap:header use="literal" message="tns:bookDeal_ValidationFault" part="oob"/>-->
        </wsdl:fault>
    </wsdl:operation>
</wsdl:binding>

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 09 мая 2011

Если я использовал svcutil.exe /ixt /dconly, я не получаю никаких предупреждений и вижу все классы ошибок.Но я не вижу никакого контракта на обслуживание в этом случае.

Если я удалю /dconly, то получу то же предупреждение.

...