Web services SOAP绑定类型对生成的WSDL没有影响

Web services SOAP绑定类型对生成的WSDL没有影响,web-services,soap,wsdl,Web Services,Soap,Wsdl,我尝试了来自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.SOAP

我尝试了来自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仍然将
use属性显示为“literal”


在一些WS-implementation中,未实现Use.ENCODED。
这可能是用户获得相同WSDL的原因之一。
JAXWS 2.0不支持rpc/编码的WSDL。
JAXWS 2.2中也不支持rpc/encoded。
请参考下面的链接以获取相同的信息。

.

我正在使用Java 1.7.0_25并使用股票JAX-WS支持来创建这些简单类。知道这是否是一个问题吗?Java7包括JAX-WS2.2。我不确定这个版本是否支持Use.ENCODED,但在JAX-WS 2.0中不支持。JAX-WS 2.2不支持RPC/ENCODED。请参考下面的链接。我想这回答了你的问题。如果是,请接受答案
<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>