1

Я использовал мастер IBM MobileFirst Studio V7.1 - Мастер обнаружения служб и создал SOAP-адаптер из WSDL-файла приложения. Процедура Service Discovery правильно создает адаптер MobileFirst в полезной нагрузкеКак передать параметры заголовка SOAP в процедуре адаптера SOAP Worklight?

сообщения MFP студии показана ниже

<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 полезной нагрузки в настоящее время передаются в диалоговое окно

Процедура Аргументы

PARAMS:

{"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 заголовка безопасности передается в правильном формате?

Благодаря

ответ

0

Формат параметров отличается от заголовков. У вас есть правильный формат для параметров. Для заголовков это должен быть 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