【问题标题】:How to pass SOAP Header parameters in a Worklight SOAP adapter procedure?如何在 Worklight SOAP 适配器过程中传递 SOAP 标头参数?
【发布时间】:2016-05-13 16:32:18
【问题描述】:

我使用了 IBM MobileFirst Studio V7.1 - 服务发现向导选项,并从应用程序 WSDL 文件创建了一个 SOAP 适配器。服务发现过程在 MFP Studio 中正确创建 MobileFirst 适配器

消息负载如下所示

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cus="http://siebel.com/CustomUI">
   <soapenv:Header>
      <ns1:Security soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xmlns:ns1="http://schemas.xmlsoap.org/ws/2002/07/secext">
         <ns1:UsernameToken>
            <ns1:Username>IBM</ns1:Username>
            <ns1:Password>IBM</ns1:Password>
         </ns1:UsernameToken>
      </ns1:Security>
   </soapenv:Header>
   <soapenv:Body>
      <cus:QueryJobDetails_Input>
         <cus:Object_spcId>SURV0332</cus:Object_spcId>
      </cus:QueryJobDetails_Input>
   </soapenv:Body>
</soapenv:Envelope>

现在,使用 MobileFirst Studio 中的适配器测试选项,将在对话窗口中传递以下 JSON 有效负载

过程参数

参数:

{"QueryJobDetails_Input":{"Object_spcId":"SURV0332"}}

标题:

{"UsernameToken":{"Username":"IBM","Password":"IBM"}}

但是当适配器执行时出现以下错误

{
   "errors": [
      "Class Cast: com.worklight.common.js.util.JSObjectConverter$1 cannot be cast to java.lang.String"
   ],
   "info": [
   ],
   "isSuccessful": false,
   "warnings": [
   ]
}

是否以正确的格式传递 WS 安全标头块?

谢谢

【问题讨论】:

    标签: java soap ibm-mobilefirst mobilefirst-adapters mobilefirst-studio


    【解决方案1】:

    参数的格式与标头的格式不同。您有正确的参数格式。对于标头,它需要是仅包含键和值列表的 JSON。请参阅以下文档: https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/dev/c_invocation_generated_soap_adapter.html?lang=en

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多