导入XSD时FileNotFoundException异常

问题描述 投票:1回答:1

我试图创建类型DefaultWsdl11Definition的绿豆,但是当项目部署到WebLogic环境架构文件位置没有被解决。

豆角,扁豆:

 <bean id="pServiceWsdl" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
    <property name="schemaCollection">
        <bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
            <property name="inline" value="true"/>
            <property name="xsds">
                <list>
                    <value>classpath:/p.xsd</value>
                </list>
            </property>
        </bean>
    </property>
    <property name="targetNamespace" value="http://example.com/p/"/>
    <property name="portTypeName" value="pPortType"/>
    <property name="serviceName" value="pService"/>
    <property name="locationUri" value="/services"/>
</bean>

该架构文件包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>

<xsd:include schemaLocation="p1.xsd"/>
<xsd:include schemaLocation="p2.xsd"/>

<xsd:element name="pRequest">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="p" type="C:p"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
<xsd:element name="pResponse">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="pEnvelope" type="C:pEnvelope"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

我收到的错误是如下:

产生的原因:java.io.FileNotFoundException:d:\ p1.xsd(系统找不到指定的文件)

spring web-services xsd filenotfoundexception
1个回答
1
投票

您必须指定在这种情况下的完整路径。

<xsd:include schemaLocation="classpath:com/example/p/oh/incoming/wsdl/com/example/p/xsd/PCBatchEnvelope-1p6.xsd"/>

您还需要使用commons XMLSCHEMA内联所有的XSD成单。因此,为了使你需要添加下面的依赖在你的Maven。

<dependency>
     <groupId>org.apache.ws.commons.schema</groupId>
     <artifactId>XmlSchema</artifactId>
     <version>1.4.7</version>
</dependency>

推荐问答