在 WSDL 中导入名称空间导致 JAXP09020006:参数“systemId”不能为空

我正在重新格式化没有得到任何答案或评论的现有问题。

我正在尝试使用 Java 11 和 Maven 3.6.1 将 WSDL 导入 Netbeans 11。同样的方法已经用于 Netbeans 8 和 Java 8.2 而没有问题,但是:

  • 旧系统是Linux,新系统是Win10,

  • 来自 org.codehaus.mojo 的 jaxws-maven-plugin 2.5 用于旧系统,来自 com.sun.xml.ws 的 jaxws-maven-plugin 2.3.2 用于新系统

我已经研究了这个问题,以导入我的 WSDL 的名称空间部分。

这是有问题的 WSDL,我删除了所有功能并删除了对公司名称的引用:

<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://XYZ/DTROrchestrator" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="DTROrchestratorService" targetNamespace="http://XYZ/DTROrchestrator">

<wsdl:types>


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://XYZ/datatypes/tehnicalException" targetNamespace="http://XYZ/datatypes/tehnicalException" version="1.0">

  <xs:complexType name="TechnicalExceptionInfoType">

    <xs:sequence>

      <xs:element minOccurs="0" name="ExceptionClass" type="xs:string"/>

      <xs:element minOccurs="0" name="SubCode" type="xs:string"/>

      <xs:element maxOccurs="unbounded" minOccurs="0" name="Description" type="xs:string"/>

      <xs:element minOccurs="0" name="StackTraceString" type="xs:string"/>

    </xs:sequence>

  </xs:complexType>

</xs:schema>


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://XYZ/DTROrchestrator" xmlns:ns2="http://XYZ/datatypes/tehnicalException" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://XYZ/DTROrchestrator" version="1.0">

  <xs:import namespace="http://XYZ/datatypes/tehnicalException"/>

</xs:schema>


</wsdl:types>

函数式编程
浏览 107回答 1
1回答

慕慕森

我有一些信息。现在我知道,当我将 maven 设置为使用 Java 11 时,问题就开始了。这是新旧系统之间的关键区别。此外,我通过从 jaxws-maven-plugin 描述中删除整个 <dependencies> 和 <configuration> 部分解决了这个问题。这些部分是很久以前添加的,它们显然不再正确了。因此,现在我只有这个:<plugin>&nbsp; &nbsp; <!-- Maven plugin for JAX-WS RI -->&nbsp; &nbsp; <!-- https://mvnrepository.com/artifact/com.sun.xml.ws/jaxws-maven-plugin -->&nbsp; &nbsp; <groupId>com.sun.xml.ws</groupId>&nbsp; &nbsp; <artifactId>jaxws-maven-plugin</artifactId>&nbsp; &nbsp; <version>2.3.3</version>&nbsp; &nbsp; <!-- <dependencies> ... </dependencies> REMOVED -->&nbsp; &nbsp; <!-- <configuration> ... </configuration> REMOVED -->&nbsp; &nbsp; <executions>&nbsp; &nbsp; ...&nbsp; &nbsp; </executions></plugin>编辑:我忘了提及,我将 maven-shade-plugin 更改为 maven-assembly-plugin。使用第一个我仍然会出错(尽管是另一个)。顺便说一句:能够用 Java 11 编译我的 SOAP 客户端是一个漫长的故事,这不是唯一的问题。最后,我一切正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java