1

我需要创建一个 web 服务,它接受请求 soap:Body 元素中的任何xml,并使用响应 soap:Body 中的任何xml 进行回复。合适的 WS 操作风格(在我看来)是“document-literal-bare”。我希望生成的 WSDL 消息看起来像这样:

<s0:message name="process">
    <s0:part type="xs:any"/>
</s0:message>

我该怎么做?

详情

在 Weblogic 10.3 中,我写过:

@WebService(.....)
@SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL, parameterStyle=ParameterStyle.BARE)
public class BackEndSimulatorWS {

    @WebMethod
    public XmlObject process(XmlObject request) {
        .....
    }
}

然而,日食抗议

(The "process" method) must be doc/literal/wrapped when binding wildcards to any.

我知道 WS 必须能够确定要执行的方法,所以我尝试用注释方法

@Webmethod(action="simulation")

但这没有帮助。当我用 org.w3c.dom.Document 替换 org.apache.xmlbeans.XmlObject 参数和响应类型时,错误消失了,但生成的 WSDL 消息不一般,它们属于 {java:org.w3c.dom} :文档类型。

任何帮助将不胜感激。

4

0 回答 0