java - 更改 Java Soap 服务结果元素名称

标签 java eclipse web-services soap

我正在尝试编写简单的 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>

最佳答案

你不应该知道最终契约(Contract)的名称,没关系。任何客户端都应该使用任何“wsdl to code”(codegen)工具。

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

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

如果您不是所有者,您应该索要契约(Contract)(WSDL)并使用任何代码生成器(wsimport 是典型的代码生成器)。

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

如果您想更改该词,您有一些选择:

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

关于java - 更改 Java Soap 服务结果元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57054829/

相关文章:

visual-studio - Java IDE 与 Microsoft IDE

带有 GSON 的 Java 堆空间

c++ - 如何将 Microsoft C++ 解决方案导入 Eclipse?

java - 无法将 ViaPost 发送到 Axis2 1.6 中的 url

Java:使用 HTTPS 和客户端证书访问 Web 服务

java - Jersey json web 服务客户端实现

JavaFX : How to set you scrollbars of a ScrollPane in the center?

java - 二元运算符的错误操作数类型错误 '+'

java - JDBC (JTDS) SQL Server 连接在 SSL 身份验证后关闭

ruby-on-rails - 将 Rails 上传到网站