从WSDL创建Web服务时出现问题

Cha*_*dNC 3 java wsdl web-services netbeans6.8

我遇到的问题是,当我尝试使用这个wsdl在netbeans中创建一个Web服务时,netbeans说没有定义服务.我是整个wsdl的新手,但据我所知,有一个定义.

wsdl是:

 <?xml version="1.0" encoding="UTF-8"?>
 <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://discoveryinsurance.com/DicQuoteSvc/AgencyQuote.wsdl" xmlns:ns="http://discoveryinsurance.com/DicQuoteSvc/schemas/DicAcordQuoteRq.xsd" xmlns:na="http://discoveryinsurance.com/DicQuoteSvc/schemas/DicAcordQuoteRs.xsd" targetNamespace="http://discoveryinsurance.com/DicQuoteSvc/AgencyQuote.wsdl">
<wsdl:import namespace="http://discoveryinsurance.com/DicQuoteSvc/schemas/" location="DicAcordQuoteRq.xsd"/>
<wsdl:import namespace="http://discoveryinsurance.com/DicQuoteSvc/schemas/" location="DicAcordQuoteRs.xsd"/>
<wsdl:types>
    <xs:schema targetNamespace="http://discoveryinsurance.com/DicQuoteSvc/schemas/" elementFormDefault="qualified"/>
</wsdl:types>
<wsdl:message name="NewMessageRequest">
    <wsdl:part name="parameter" element="ns:ACORD"/>
</wsdl:message>
<wsdl:message name="NewMessageResponse">
    <wsdl:part name="parameter" element="na:ACORD"/>
</wsdl:message>
<wsdl:portType name="QuotePortType">
    <wsdl:operation name="RequestQuote">
        <wsdl:input message="tns:NewMessageRequest"/>
        <wsdl:output message="tns:NewMessageResponse"/>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="QuoteBinding" type="tns:QuotePortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="RequestQuote">
        <soap:operation soapAction="http://discoveryinsurance.com/DicQuoteSvc/AgencyQuote" style="rpc"/>
        <wsdl:input>
            <soap:body use="literal"/>
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:service name="AgencyQuote">
    <wsdl:port name="QuotePortType" binding="tns:QuoteBinding">
        <soap:address  location="http://discoveryinsurance.com/DicQuoteSvc/"/>
    </wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)

XMLSpy说wsdl是有效的,但是当我尝试从它创建Web服务时它失败了.任何帮助都会受到赞赏,甚至是建设性的批评.

编辑

我从命令行使用wsimport.

[错误]无效的wsdl:操作"RequestQuote":它是一个rpc-literal操作,mes sage部分必须引用文件的模式类型声明第16行:/ D:/projects/DICACORD/QuoteRq2.wsdl

这是否意味着即使导入了两个xsd,我仍然需要在wsdl中定义类型?

更新2

请求的架构 - >. 在牧场的架构

加成

有没有人看到xsd导入有什么问题和/或它们是如何被使用的?

max*_*dim 5

验证wsdl有效的最简单方法是从命令行运行:

wsimport yourservice.wsdl
Run Code Online (Sandbox Code Playgroud)

看看它是否给你任何错误.wsimport附带JDK 1.6

您提交的WSDL不完整,因为它引用了外部模式文件(XSD),因此我无法对其进行验证.