2015-03-13 144 views
3

我试图从URL生成WSDL,但它/我无法做到。我的pom.xml文件配置是这样的:Spring Maven - 无法生成WSDL

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>org.springframework</groupId> 
<artifactId>gs-consuming-web-service</artifactId> 
<version>0.1.0</version> 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.2.RELEASE</version> 
</parent> 

<properties> 
    <!-- use UTF-8 for everything --> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-core</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.xml.bind</groupId> 
     <artifactId>jaxb-xjc</artifactId> 
     <version>2.2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jvnet.jaxb2.maven2</groupId> 
     <artifactId>maven-jaxb2-plugin</artifactId> 
     <version>0.12.3</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
     <!-- tag::wsdl[] --> 
     <plugin> 
      <groupId>org.jvnet.jaxb2.maven2</groupId> 
      <artifactId>maven-jaxb2-plugin</artifactId> 
      <version>0.12.3</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>generate</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <schemaLanguage>WSDL</schemaLanguage> 
       <generatePackage>hello.wsdl</generatePackage> 
       <schemas> 
        <schema> 
         <url>http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl</url> 
        </schema> 
       </schemas> 
      </configuration> 
     </plugin> 
     <!-- end::wsdl[] --> 
    </plugins> 
    <pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings 
       only. It has no influence on the Maven build itself. --> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId> 
             org.jvnet.jaxb2.maven2 
            </groupId> 
            <artifactId> 
             maven-jaxb2-plugin 
            </artifactId> 
            <versionRange> 
             [0.8.0,) 
            </versionRange> 
            <goals> 
             <goal>generate</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

<repositories> 
    <repository> 
     <id>spring-releases</id> 
     <name>Spring Releases</name> 
     <url>https://repo.spring.io/libs-release</url> 
    </repository> 
</repositories> 
<pluginRepositories> 
    <pluginRepository> 
     <id>spring-releases</id> 
     <url>https://repo.spring.io/libs-release</url> 
    </pluginRepository> 
</pluginRepositories> 

</project> 

我解决了所有在pom.xml文件发生和JAXB2是公认的错误。当我运行“maven generate-sources”时,我得到以下输出:

[警告] URI [wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl]似乎代表绝对的HTTP或HTTPS URL。获取最后修改时间戳只有在URL可访问且服务器正确返回[Last-Modified]标头时才有可能。这种方法不可靠,可能会失败。在这种情况下,最后修改时间戳将被假定为未知。 [错误]无法从HTTP URL连接中检索URI [wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl]的上次修改时间戳。 [Last-Modified]标头可能设置不正确。 [警告]最后修改URI [http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl]未知。

但我不知道如何解决这个问题。同样的SOAP服务在这一Spring Guide

使用(我不得不更改URL中的错误消息,因为我不能发布超过2个链接)

+0

请让我们知道您看到的其他*错误消息。这不会阻止我的项目中建立的来源。 – Steve 2015-03-13 08:44:52

+0

我没有看到任何其他错误,这是唯一的一个,他总是返回构建succesfull。我确实找到了使用wsimport的工作。 – 2015-03-13 08:48:36

回答

1

没有与m2eclipse的一个问题。最好的方法是在命令行中使用maven或使用其他IDEA。