【问题标题】:SOAP Binding type does not have impact on the resulting WSDLSOAP 绑定类型对生成的 WSDL 没有影响
【发布时间】:2014-02-24 11:15:01
【问题描述】:

我尝试了 mkyong 网站上的示例代码,并尝试了参数组合。 我尝试将 javax.jws.soap.SOAPBinding.Use.LITERAL 更改为 javax.jws.soap.SOAPBinding.Use.ENCODED 以获得 RPC 样式服务接口。

    package com.mkyong.ws;

    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.jws.soap.SOAPBinding.Style;
    import javax.jws.soap.SOAPBinding.Use;
    import javax.jws.soap.SOAPBinding.ParameterStyle;

    //Service Endpoint Interface
    @WebService
    @SOAPBinding(style = Style.RPC, use = Use.ENCODED, parameterStyle = ParameterStyle.WRAPPED)
    public interface HelloWorld{

        @WebMethod String getHelloWorldAsString(String name);

    }

唯一的变化是 use = Use.LITERAL 现在我有 use = Use.ENCODED。 然而,生成的 WSDL 似乎根本没有改变。

在这两种情况下创建的 WSDL 仍将 <soap:body> 使用属性显示为“文字”。

<soap:body use="literal"

我的接口声明是否有错误?

<binding name="HelloWorldImplPortBinding" type="tns:HelloWorld">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"></soap:binding>
    <operation name="getHelloWorldAsString">
        <soap:operation soapAction=""></soap:operation>
        <input>
            <soap:body use="literal" namespace="http://ws.mkyong.com/"></soap:body>
        </input>
        <output>
            <soap:body use="literal" namespace="http://ws.mkyong.com/"></soap:body>
        </output>
    </operation>
</binding>

这是正确的吗?我不应该期待use="Encoded"吗?

【问题讨论】:

    标签: web-services soap wsdl


    【解决方案1】:

    在少数 WS 实现中 Use.ENCODED 没有实现。 这可能是使用获得相同 WSDL 的原因之一。 JAXWS 2.0 不支持 rpc/encoded wsdls。 JAXWS 2.2 也不支持 rpc/encoded。 请参考以下链接。 https://jax-ws.java.net/2.2.1/docs/annotations.html.

    【讨论】:

    • 我正在使用 Java 1.7.0_25 并使用现有的 JAX-WS 支持来创建这些简单的类。知道这是否是个问题吗?
    • Java 7 包括 JAX-WS 2.2。我不确定此版本是否支持 Use.ENCODED,但在 JAX-WS 2.0 中不支持。
    • JAX-WS 2.2 不支持 RPC/ENCODED。请参考以下链接。 jax-ws.java.net/2.2.1/docs/annotations.html。我认为这回答了你的问题。如果是,请采纳答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多