我在soapUI中创建新项目并从URL导入wsdl文件时遇到问题。它给了我以下异常
加载时出错 [ http://localhost:8080/WS/PersonalDetails.xsd] :org.apache.xmlbeans.XmlException:org.apache.xmlbeans.XmlException:错误:null后出现意外的文件结束
我的 xsd 包括
<xsd:include schemaLocation="PersonalDetails.xsd" />
<xsd:include schemaLocation="PersonalRequest.xsd" />
xsd 的实际位置
WS/src/main/webapp/schemas/PersonalDetails.xsd
WS/src/main/webapp/schemas/PersonalRequest.xsd
我的 spring-ws.xml
<bean id="MyWSService" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition" lazy-init="true">
<property name="schemaCollection">
<bean class="org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection">
<property name="inline" value="false" />
<property name="xsds">
<list>
<value>schemas/PersonalDetailsServiceOperations.xsd</value>
</list>
</property>
</bean>
</property>
<property name="portTypeName" value="MyWSEndpoint"/>
<property name="serviceName" value="MyWS" />
<property name="locationUri" value="/"/>
</bean>
我的个人详细信息服务操作.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:person="http://MyWS.com/"
targetNamespace="http://MyWS.com/"
elementFormDefault="qualified">
<xsd:include schemaLocation="PersonalDetails.xsd" />
<xsd:include schemaLocation="PersonalRequest.xsd" />
</xsd:schema>
我使用的是spring+Maven+xsd+jaxb
请帮忙
非常感谢
最佳答案
发生这种情况通常是因为您没有将 WSDL 粘贴到 SOAP UI 的正确位置。当您在浏览器中浏览到 WSDL 时,spring-ws 会在几乎任何 url 上提供它,只要它以 XYZService.wsdl 结尾(或您配置的任何内容)。这样做的缺点是,当您使用架构内某处的相对路径导入 XSD 时,SOAP UI 会尝试根据您提供的路径解析相对路径,但正如我所说,这实际上可能不是真正的路径WSDL。
例如,在我们的应用程序中,我们有一个 Spring-ws Web 服务调用 ProcessService。其服务地址为 http://localhost:11000/ws/service/process/ProcessService.wsdl它包含使用相对路径导入的 XSD。如果将此 URL 粘贴到 SOAP UI 中并运行它,它会正确解析 XSD 的路径。但是,您可以浏览到 http://localhost:11000/hello-world/ProcessService.wsdl即使 URL 不正确,它仍然会为您提供 WSDL。现在如果你采取 http://localhost:11000/hello-world/ProcessService.wsdl并将其粘贴到 SOAP UI 中,它将无法正确解析导入的 XSD 的相对路径,因为这不是实际的 URL。在本例中,SOAP UI 会给出确切的错误。
我会在浏览器中浏览您的 XSD,并确保您可以看到它。然后我会检查您粘贴到 SOAP UI 中的 URL,并查看相对 URL 是否确实正确解析。如果没有,您需要提供 SOAP UI 的正确路径。
关于java - xsd:soapUI 中包含异常:org.apache.xmlbeans.XmlException:org.apache.xmlbeans.XmlException:错误:null 后出现意外的文件结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31779004/