Java中的最佳实践XML请求生成器

Java中的最佳实践XML请求生成器,java,xml,spring,Java,Xml,Spring,我正在用Java开发一个restful web服务。我的一个服务需要调用SOAP服务,为此我需要构建一个XML请求。我的问题是“我想在一个单独的helper类中构建xml文件,这是一种方便的方法吗?”我正在使用Spring for MVC,在这里我可以实现它的任何优点吗 示例伪码 @RestController @RequestMapping("/rest/menu") public class MenuController { @RequestMapping(method = Request

我正在用Java开发一个restful web服务。我的一个服务需要调用SOAP服务,为此我需要构建一个XML请求。我的问题是“我想在一个单独的helper类中构建xml文件,这是一种方便的方法吗?”我正在使用Spring for MVC,在这里我可以实现它的任何优点吗

示例伪码

@RestController
@RequestMapping("/rest/menu")
public class MenuController {

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<String> createUser(@RequestBody JSONObject userInfo){
//Here I need to make a Soap call to retrieve some information
 MyXMLBuilder myXMLBuilder = new MyXMLBuilder(); 
 String soapRequest = myXMLBuilder.build();
}}

通常,要使用SOAP Web服务,您将使用
wsimport
工具创建所需的存根,该工具位于/bin文件夹中的Java SDK中

在您喜爱的终端中,切换到所需文件夹,以便在中创建存根,然后键入:

wsimport -keep -verbose http://example.com/myservice?wsdl
然后可以像这样使用服务存根

MyServiceImplService myService = new MyServiceImplService();
MyService port = myService.getMyServiceImplPort();

port.yourFunction(param1, param2);

build()
方法应该做什么?将某些对象序列化为XML?是的,正是将对象序列化为XML。您的对象已注释?未注释。我正在从另一个服务调用创建它们。您应该对它们进行注释,至少使用@XmlRootElement。。。您可以使用封送拆收器序列化到StringOutputStream。。。看看
MyServiceImplService myService = new MyServiceImplService();
MyService port = myService.getMyServiceImplPort();

port.yourFunction(param1, param2);