【发布时间】:2016-05-12 08:42:23
【问题描述】:
我想将 SOAP 服务发布为 REST(json) API 。我要公开的服务操作在 WSDL/XSD 定义中有一个 xml 序列元素:
<xs:complexType name="hellolist">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="hellolistResponse">
<xs:sequence>
<xs:element name="return" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
我不知道如何使用 PayloadFactory 将 JSON 数组映射到 xml 序列。我发现的所有示例都只处理像sample WSO2 transformation 这样的简单 json 和 SOAP 消息。 我想转换这个 json 消息:
{"hellolist":{"name":["Peter","Mary","Ann","James"]}}
致此肥皂消息:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dum="http://dummyservice2.com/">
<soapenv:Header/>
<soapenv:Body>
<dum:hellolist>
<name>Peter</name>
<name>Mary</name>
<name>Ann</name>
<name>James</name>
</dum:hellolist>
</soapenv:Body>
</soapenv:Envelope>
【问题讨论】:
-
您是否还在纠结于将 JSON 数组映射到 SOAP 中?就这些吗?
-
是的,问题是每个请求中JSON数组的长度不同。
标签: json xml soap wso2 wso2-am