【问题标题】:How to generate WSDD based on code or based on WSDL如何基于代码或基于 WSDL 生成 WSDD
【发布时间】:2012-09-26 18:39:07
【问题描述】:

我可以访问远程服务器,它为我提供 wsdl 回复我的响应。

我为此准备了客户端,基于该 wsdl。

现在我想写一个假服务器(用于测试需要),我应该首先开始什么?我应该执行哪些步骤?只有通过此 WSDL 实现测试才有意义。是否可以使用空方法生成某种服务?

在我的应用中,我使用 Apache Axis 1.4

我的步骤,我的想法:

  1. 我已经有了:InterfacePortType 类(据我了解,它代表远程服务器),它是基于 wsdl 为我的客户端生成的。所以我可以实现它,它会是MyService

    MyServer 实现 InterfacePortType

  2. 然后以某种方式生成WSDD。我该怎么做?

我发现类似的问题here没有回答。

【问题讨论】:

    标签: java web-services axis


    【解决方案1】:

    我找到了解决方案,我使用axistools-maven-plugin生成了WSDD,设置:serverSide参数为true - 然后生成WSDD文件。

    这是maven插件部分:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>axistools-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>wsdl2java-job</id>
                <phase>generate-sources</phase>
                <goals>
                    <goal>wsdl2java</goal>
                </goals>
                <configuration>
                    <sourceDirectory>
                        src/main/config/wsdl2java/myfolder
                    </sourceDirectory>
                    <outputDirectory>
                        ${generatedSourcesDirectory}
                    </outputDirectory>
                    <testCases>false</testCases>
                    <serverSide>true</serverSide>
                    <subPackageByFileName>false</subPackageByFileName>
                    <packageSpace>my.api</packageSpace>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    【讨论】:

      【解决方案2】:

      客户端需要 stubs,服务器端需要 skeleton
      谷歌这个以获得更多信息:轴从 wsdl 生成骨架

      【讨论】:

      • 这是一般信息。我猜这些骨架是在客户端连接到配置为处理所有这些事情的 web.xml 中的 AxisServlet 时动态生成的(一次)。所以,问题是:如何通过 WSDL 生成 WSDD。现在我的服务能够从客户端获取请求并将响应发送回,但客户端无法处理它,因为此 xml 响应与此客户端所需的略有不同,因为服务器上的 WSDD(部署描述符) .
      • 它似乎与这个主题有关:mail-archives.apache.org/mod_mbox/maven-users/201107.mbox/… 他们在那里使用axistools-maven-plugin 来生成WSDD。会试试的。
      • 您无需猜测任何内容 - 只需阅读有关存根和骨架的信息!您需要为您的客户端生成存根,并为您的测试服务单独生成骨架。然后两者可以一起工作,或者您可以将客户端与“真实”服务一起使用。
      • 我看你有答案,所以我会礼貌地放弃
      • 感谢您的帮助。我并不孤单!无论如何都有存根和骨架。
      猜你喜欢
      • 1970-01-01
      • 2013-04-21
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      相关资源
      最近更新 更多