【发布时间】:2018-09-24 13:42:29
【问题描述】:
我希望不同方法使用相同的 XML 请求标签
我的界面如下
@WebService
@SOAPBinding(style = Style.RPC)
public interface Services {
@WebMethod public String login(String networkId,String password);
@WebMethod public String loginAS(String networkId,String password);
}
soapUI 生成以下请求
请求 1:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.project.com/">
<soapenv:Header/>
<soapenv:Body>
<ser:login>
<arg0>?</arg0>
<arg1>?</arg1>
</ser:login>
</soapenv:Body>
</soapenv:Envelope>
请求 2:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.project.com/">
<soapenv:Header/>
<soapenv:Body>
<ser:loginAS>
<arg0>?</arg0>
<arg1>?</arg1>
</ser:loginAS>
</soapenv:Body>
</soapenv:Envelope>
我希望我的两个请求具有相同的标签(突出显示)
期望的请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.project.com/">
<soapenv:Header/>
<soapenv:Body>
***<ser:login>***
<arg0>?</arg0>
<arg1>?</arg1>
***</ser:login>***
</soapenv:Body>
</soapenv:Envelope>
我希望两个请求都应具有相同的 **<ser:login>** 标签,而不是两个不同的标签 **<ser:login>** 和 **<Ser:loginAS>**
【问题讨论】:
-
@WebMethod(operationName="login")不起作用? -
收到错误“操作名称必须是唯一的”
-
您需要通过不同的参数或不同的名称来区分您的两种方法。
-
其实我是这个请求的生产者。此请求必须由不同的用户使用。我必须将它从 dot net 迁移到 java。在 dot net 中它工作正常(两个请求都具有相同的标签)。现在无法更改方法名称或参数。有什么选择吗?
-
@daniu,有更新吗?
标签: java xml soap request soapui