【问题标题】:How to convert a WSDL file made for SOAP 1.1 to support SOAP 1.2如何转换为 SOAP 1.1 制作的 WSDL 文件以支持 SOAP 1.2
【发布时间】:2011-09-21 23:21:41
【问题描述】:

几年前,我根据给定的 WSDL 构建了一个 SOAP 1.1 服务。这是相当基本的:我执行了 Axis 的 WSDL2Java 并使用生成的类作为基础。

现在我被告知要迁移此服务,以便人们可以使用 SOAP 1.2 访问它。

我应该在我的 WSDL 文件中进行哪些更改,以便我新生成的服务(仍在使用 Axis 的 WSDL2Java)支持 SOAP 1.2?

了解我是服务提供商很重要:我不想要只为客户服务的解决方案。

非常感谢!

【问题讨论】:

    标签: java soap axis2 wsdl2java


    【解决方案1】:

    在结构上,您需要在 WSDL 文档中添加对 SOAP 1.2 的支持。 您的“抽象”WSDL 部分定义了类型、消息和端口类型。 (我在这里假设您想要更新您的 WSDL1.1 文档以添加对现有服务的 SOAP1.2 支持)

    要支持 SOAP1.2,您需要添加符合 SOAP1.2 的绑定和服务定义。 例如,我们有这个端口定义:

    <wsdl:portType name="ServerSoap">
        <wsdl:operation name="SomeOperation"> ...
    

    您需要为您的操作添加一个 SOAP1.2 绑定部分:

    <wsdl:binding name="ServerSoap12" type="tns:ServerSoap">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="SomeOperation">
            <soap12:operation soapAction="..." style="document" /> ...
    

    还有一项服务:

    <wsdl:service name="Server">
            <!-- SOAP1.1 Service -->
            <wsdl:port name="ServerSoap" binding="tns:ServerSoap">
            <soap:address location="http://localhost:8080/Server" />
        </wsdl:port>
    
            <!-- SOAP1.2 Service -->
        <wsdl:port name="ServerSoap12" binding="tns:ServerSoap12">
            <soap12:address location="http://localhost:8080/Server" />
        </wsdl:port>
    </wsdl:service>
    

    请注意,这两个定义可以共存,并且您的服务可以保持向后兼容 SOAP1.1。客户必须选择使用 SOAP1.1 还是 SOAP1.2。

    实际上,您可以尝试从您拥有的代码生成 WSDL,指示 Axis 为 SOAP1.2 生成绑定。我不是 AXIS 用户,所以 RTM java2wsdl 可以做到这一点。

    【讨论】:

    • 非常感谢!我今天剩下的时间太少了,所以我会在星期一试试这个。
    • 什么是soap12?它在哪里描述?我有xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/",但由于某种原因生成的网络服务只支持soap 1.1
    • @4ntoine soap12 是命名空间别名,在文件头中定义。应该类似于您在评论中给出的声明。
    • 有什么想法为什么 cxf 的 wsdl2java 会为soap 1.2 wsdl 生成soap 1.1 绑定? stackoverflow.com/questions/27191245/…
    • @4ntoine 不知道。 (幸运的是)我已经很久没有使用 SOAP 了。现在生活好多了。
    猜你喜欢
    • 2017-07-19
    • 2012-04-23
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    相关资源
    最近更新 更多