更改 Java 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>


慕沐林林
浏览 116回答 1
1回答

喵喔喔

您不应该知道最终合同的名称,没关系。任何客户端都应该使用任何“wsdl to code”(codegen)工具。您和您的服务客户不应直接处理 XML 层(最通用的 SOAP 协议)。如果您是 web 服务所有者,您可以将其定义为“代码优先”(您定义类和方法,平台为您更新 WSDL 定义)。如果您不是所有者,您应该要求合同(WSDL)并使用任何代码生成器(wsimport是典型的代码生成器)。如果您尝试为某些 XML 格式定义 Web 服务并且您有 XSD 定义或其他内容,请不要尝试创建 SOAP 服务,而是直接处理该层(XML 数据)(当然使用适当的工具,如Java&nbsp;JAXB的标准规范)。如果无论如何,你想改变那个词,你有一些选择:自己编写 WSDL(手动或使用某种工具),然后创建 Web 服务(例如,使用wsimport)。搜索你的平台是否能够做到这一点(jaxws 并非没有黑客攻击)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java