更改 Java 肥皂服务结果元素名称



我正在尝试编写简单的java soap Web服务,为此目的下载eclipse并创建动态Web应用程序,在该项目中创建此类和方法:

package test;
public class Sayam{
public String helloworld(){
return "Hello world!";
}
}

在该类上右键单击并选择Web服务并生成Web服务,一切都正常,Web服务返回以下结果:

<soapenv:Envelope>
<soapnv:Body>
<helloWorldResponse>
<helloWorldReturn>Hello World!</helloWorldReturn>
</helloWorldResponse>
</soapenv:Envelope>
</soapnv:Body>

我想更改此行:

<helloWorldReturn>Hello World!</helloWorldReturn>

到我的自定义元素:

<QueryResult>Hello World!</QueryResult>

你不应该知道最终合同的名称,没关系。任何客户端都应该使用任何"wsdl to code">(codegen)工具。

您和您的服务客户端不应直接使用 XML 层(最通用的 SOAP 协议)进行处理。

如果您是 Web 服务所有者,则可以将其定义为"代码优先">(您定义类和方法,平台将为您更新 WSDL 定义)。

如果你不是所有者,你应该要求契约(WSDL)并使用任何代码(wsimport是一个典型的代码)。

如果您尝试为某些 XML 格式定义 Web 服务,并且您有 XSD 定义或其他内容,请不要尝试创建 SOAP 服务,而是直接处理该层(XML 数据)(当然使用适当的工具,如JavaJAXB的标准规范)。

无论如何,如果您想更改该单词,您有一些选择:

  1. 自己编写 WSDL(手动或使用某些工具),然后创建 Web 服务(例如,使用wsimport)。
  2. 搜索您的平台是否能够做到这一点(Jaxws 并非没有黑客攻击)