Web services 使用Maven和Axis生成客户端Web服务

Web services 使用Maven和Axis生成客户端Web服务,web-services,maven,xsd,wsdl,axis,Web Services,Maven,Xsd,Wsdl,Axis,当Maven使用Axis为客户端web服务生成源代码时,我遇到了一个问题 我需要使用来自其他公司公开的url的wsdl。例如,这是url中的wsdl内容 您的问题在于XSD映射。尝试将wsdl和XSD下载到您的工作区并生成Java类: <configuration> <packageSpace>com.xyz</packageSpace> <sourceDirectory>${basedir}/src/wsdl/rpc</so

当Maven使用Axis为客户端web服务生成源代码时,我遇到了一个问题

我需要使用来自其他公司公开的url的wsdl。例如,这是url中的wsdl内容


您的问题在于XSD映射。尝试将wsdl和XSD下载到您的工作区并生成Java类:

<configuration>
    <packageSpace>com.xyz</packageSpace>
    <sourceDirectory>${basedir}/src/wsdl/rpc</sourceDirectory>
    <outputDirectory>${basedir}/src/wsdl/rpc</outputDirectory>
</configuration
<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>com.example.axis</groupId>
    <artifactId>client</artifactId>
    <version>0.0.1</version>
    <packaging>jar</packaging>

    <name>client</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <repositories>
        <repository>
            <id>org.codehaus.mojo</id>
            <name>org.codehaus.mojo</name>
            <url>http://repository.codehaus.org/</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc-api</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1</version>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>axistools-maven-plugin</artifactId>
                                        <versionRange>[1.4,)</versionRange>
                                        <goals>
                                            <goal>wsdl2java</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>axistools-maven-plugin</artifactId>
                <version>1.4</version>
                <configuration>
                    <urls>
                        <url>http://127.0.0.1:8080/ESBService/Example?wsdl</url>
                    </urls>
                    <packageSpace>com.example.axis.client</packageSpace>
                    <outputDirectory>${project.build.directory}/generated-sources/wsdl2java</outputDirectory>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>javax.mail</groupId>
                        <artifactId>mail</artifactId>
                        <version>1.4.1</version>
                    </dependency>
                    <dependency>
                        <groupId>javax.activation</groupId>
                        <artifactId>activation</artifactId>
                        <version>1.1</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
[ERROR] Failed to execute goal org.codehaus.mojo:axistools-maven-plugin:1.4:wsdl2java (default) on project client: Error generating Java code from WSDL. Error running Axis: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve schema referenced at 'MySchema.xsd1.xsd', relative to 'file:/E:/IDE/sts-bundle/workspaces/java/hermes-webapplet/client/target/axistools/wsdl2java/urlDownloads/http---127.0.0.1-ESBService-Example-wsdl.wsdl'.: This file was not found: file:/E:/IDE/sts-bundle/workspaces/java/hermes-webapplet/client/target/axistools/wsdl2java/urlDownloads/MySchema.xsd1.xsd -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:axistools-maven-plugin:1.4:wsdl2java (default) on project client: Error generating Java code from WSDL.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
<configuration>
    <packageSpace>com.xyz</packageSpace>
    <sourceDirectory>${basedir}/src/wsdl/rpc</sourceDirectory>
    <outputDirectory>${basedir}/src/wsdl/rpc</outputDirectory>
</configuration