我正在尝试编写简单的 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>
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
您不应该知道最终合同的名称,没关系。任何客户端都应该使用任何“wsdl to code”(codegen)工具。
您和您的服务客户不应直接处理 XML 层(最通用的 SOAP 协议)。
如果您是 web 服务所有者,您可以将其定义为“代码优先”(您定义类和方法,平台为您更新 WSDL 定义)。
如果您不是所有者,您应该要求合同(WSDL)并使用任何代码生成器(wsimport是典型的代码生成器)。
如果您尝试为某些 XML 格式定义 Web 服务并且您有 XSD 定义或其他内容,请不要尝试创建 SOAP 服务,而是直接处理该层(XML 数据)(当然使用适当的工具,如Java JAXB的标准规范)。
如果无论如何,你想改变那个词,你有一些选择:
自己编写 WSDL(手动或使用某种工具),然后创建 Web 服务(例如,使用wsimport)。
搜索你的平台是否能够做到这一点(jaxws 并非没有黑客攻击)
添加回答
举报
0/150
提交
取消