IBM Mobile First 7.1:多部分/相关 Content-Type 和 XSL 转换

Posted

技术标签:

【中文标题】IBM Mobile First 7.1:多部分/相关 Content-Type 和 XSL 转换【英文标题】:IBM Mobile First 7.1: multipart/related Content-Type and XSL transformation 【发布时间】:2016-10-03 08:39:55 【问题描述】:

我需要从 HTTP 适配器调用具有 multipart/related 内容类型的 SOAP 服务。

如果我将此对象用作WL.Server.invokeHttp 参数


    method : 'post',
    returnedContentType : 'xml',
    returnedContentEncoding : 'utf-8',
    path : servicePath,
    body : 
        content : MY_REQUEST,
        contentType : "text/xml; charset=utf-8"
    ,
    transformation: 
            type: 'xslFile',
            xslFile: 'myXsl.xsl'
    
; 

我收到了这个错误:

"Runtime: Failed to read the HTTP response to: /MyService 
\njava.lang.IllegalArgumentException: Http content type 'multipart/related' not supported. 
Supported types are: [json, css, csv, javascript, plain, xml, html]" 

于是我修改了参数returnedContentType: 'plain',得到了一个结果。现在响应如下所示:


"isSuccessful": true,
"errors": [],
"warnings": [],
"info": [],
"text": "--uuid:85c87f37-9436-41d1-94d4-0b944c3618b1\nContent-Type: application/xop+xml; charset=UTF-8; type=\"text/xml\";\nContent-Transfer-Encoding: binary\nContent-ID: <root.message@cxf.apache.org>\n\n 

MY SOAP RESPONSE 

\n--uuid:85c87f37-9436-41d1-94d4-0b944c3618b1--",
"responseHeaders": 
    ...
    "Content-Type": "multipart/related; type=\"application/xop+xml\"; boundary=\"uuid:85c87f37-9436-41d1-94d4-0b944c3618b1\"; start=\"<root.message@cxf.apache.org>\"; start-info=\"text/xml\""
    ...


但是没有执行 xsl 转换。 通过对文本参数进行一些字符串操作,我可以将 SOAP 响应作为字符串获取,但我没有找到一种方法(某些 API)来手动调用 XSL 转换以获取 json。

【问题讨论】:

【参考方案1】:

XSL 转换仅在服务器端完成(没有手动“激活”)。如果您仍然需要进行 XSL 转换,您可以做的也许是通过 JavaScript 运行 XSL。例如:how to run XSL file using JavaScript / HTML file

【讨论】:

以上是关于IBM Mobile First 7.1:多部分/相关 Content-Type 和 XSL 转换的主要内容,如果未能解决你的问题,请参考以下文章

使用 IBM Mobile First Platform 7.1 和 Ionic 的适用于 Android 的 TouchID

使用 IBM API Manager 和 IBM Mobile First 的 OAuth

Mobile First 7.1 SOAP 适配器未能读取响应

从 6.1 迁移到 7.1 后,Iphone build 未连接到 Mobile First Server

IBM Mobile First Push Notification 安全测试

Mobile first server(版本 7.1)所需的 websphere 应用程序服务器(网络部署)的最低版本是多少?