Java中的最佳实践XML请求生成器
我正在用Java开发一个restful web服务。我的一个服务需要调用SOAP服务,为此我需要构建一个XML请求。我的问题是“我想在一个单独的helper类中构建xml文件,这是一种方便的方法吗?”我正在使用Spring for MVC,在这里我可以实现它的任何优点吗 示例伪码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
@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);