Я использую cxf-codegen-plugin v. 3.2.4 в проекте maven.WSDL ссылается на схему:
<xsd:import namespace="http://mynamespace/"
schemaLocation="../schema/MySchema.xsd"/>
Но когда запускается сгенерированный Сервер, опубликованный wsdl ссылается на схему следующим образом:
<xsd:import namespace="http://mynamespace/" schemaLocation="http://localhost:9999/?xsd=1"/>
И этот сгенерированный xsd изменил имена аргументов дляданный метод.Исходная схема имеет следующее определение:
<xs:complexType name="myMethod">
<xs:sequence>
<xs:element name="messageHeader" type="tns:soapMessageHeader" minOccurs="0"/>
<xs:element name="myId" type="xs:string" minOccurs="0"/>
<xs:element name="mySecondId" type="xs:string" minOccurs="0"/>
<xs:element name="myThirdId" type="xs:string" minOccurs="0"/>
<xs:element name="password" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Принимая во внимание, что сгенерированная схема имеет следующее:
<xs:complexType name="myMethod">
<xs:sequence>
<xs:element name="arg0" type="tns:soapMessageHeader" minOccurs="0"/>
<xs:element name="arg1" type="xs:string" minOccurs="0"/>
<xs:element name="arg2" type="xs:string" minOccurs="0"/>
<xs:element name="arg3" type="xs:string" minOccurs="0"/>
<xs:element name="arg4" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Она изменила имена элементов с определенных на «arg0», «arg... ".Мне нужно, чтобы это не было сделано.
У моего pom есть это:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${source.wsdl.path}</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/MyServiceDefinition.wsdl</wsdl>
<extraargs>
<extraarg>-impl</extraarg>
<extraarg>-verbose</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
Автоматически сгенерированный интерфейс для сервиса имеет аннотацию @WebParam.
Может кто-нибудь помочь мне, пожалуйста?