我需要创建一个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) {
.....
}
}
然而Eclipse抗议
(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} :文件类型。
任何帮助将不胜感激。