[英]XML to SOAP service
我正在创建一个Java服务,该服务将采用入站XML,对来自XML的某些数据应用一些业务逻辑,并使用XML中的此数据和原始数据调用SOAP服务。
我有一个出站SOAP服务的入站请求XML和WSDL的样本。
我的计划是:
在这里,我正在阅读有关使用XSLT的信息: xml-to-soap-transformation
我可以正确地完成此任务吗? XSLT应该成为我的实现的一部分吗?
谢谢!
更新:
出站SOAP服务是“文档样式”,WSDL包括XSD模式。
该项目使用Spring框架。
生成的代码如下所示:
@WebServiceClient(name = "OrderService",
wsdlLocation = "file:/C:/......./src/main/resources/wsdl/OrderService.wsdl",
targetNamespace = "http://xmlns.some_name_space")
public class OrderService extends Service {
@WebService(targetNamespace = "http://xmlns.some_name_space", name = "OrderPortType")
@XmlSeeAlso({org.....ObjectFactory.class})
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface OrderPortType {
生成的客户端:
QName SERVICE_NAME = new QName("http://xmlns......", "OrderService");
URL wsdlURL = OrderService.WSDL_LOCATION;
OrderService ss = new OrderService(wsdlURL, SERVICE_NAME);
OrderPortType port = ss.getOrder();
CancelOrderType cancelOrderMessage = null;
CancelAcknowledgeOrderType cancelOrderReturn = port.cancelOrder(cancelOrderMessage);
ProcessOrderType processOrderMessage = null;
AcknowledgeOrderType processOrderReturn = port.processOrder(processOrderMessage);
将XSLT仅仅用作SOAP通信的有效负载听起来是错误的。 有效载荷不应被信封材料所困扰。
首先看一下WSDL。 现代Web服务通常不再是文档类型 ,因此您可以跳过步骤1.-4。
我的客户通常会经历:
使用cxf-codegen生成SOAP客户端实现
<extraarg>-client</extraarg> <extraarg>-impl</extraarg>
通过扩展ServiceName_Service
类,获取其端口对象,然后仅调用WSDL中定义的方法之一,来生成测试客户端实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.