Как передать значения службе SOAP с помощью потребителя веб-службы?

Здравствуйте, у меня есть мыльная служба, в которой метод получает 2 входных значения и дает bool O / P. Я использую конечную точку потребителя веб-службы для использования этой мыльной службы. Я хочу понять, как я могу отправлять значения в службу SOAP.

`<ws:consumer-config name="Web_Service_Consumer" wsdlLocation="http://.....?singleWsdl" service="ClientService" port="WSHttpBinding_IClientService" serviceAddress="http://....../ClientService.svc" doc:name="Web Service Consumer"/>
<ws:consumer config-ref="Web_Service_Consumer" operation="AuthenticateUser" doc:name="Web Service Consumer"/>


person Naveen Rayappa    schedule 31.12.2014    source источник


Ответы (4)


Основываясь на документации потребителя веб-сервисов, потребитель ожидает xml-запрос операции службы.

Мое быстрое предложение - использовать любой инструмент для создания XML-запроса на основе wsdl (например, SOAP UI) и использовать его в set-payload , используя выражения MEL для ввода значений двух параметров.

Надеюсь, это поможет.

person Nuno    schedule 31.12.2014

Потребитель веб-службы обычно используется в сочетании с DataMapper, с его помощью datamapper может в значительной степени визуально создать запрос для вас. Учитывая, что DataMapper - это функция EE, и вы не упоминаете, что у вас есть лицензия, я предлагаю вам изменить подход и вместо этого использовать модулем CXF.

person Víctor Romero    schedule 01.01.2015

Пожалуйста, прочтите, чтобы лучше понять ws: consumer: - http://www.mulesoft.org/documentation/display/current/Web+Service+Consumer+Reference и http://www.mulesoft.org/documentation/display/current/Web+Service+Consumer также есть пример в github: - https://github.com/mulesoft/mule-tooling-examples/blob/master/web-service-consumer/src/main/app/tshirt-service-consumer.xml

Вы можете использовать <stdio:inbound-endpoint system="IN" doc:name="STDIO"/> для передачи значений в службу. Но я не уверен, что это рекомендуемый подход. Другой вариант - set-payload, вы можете попробовать передать значение в службу.

person Anirban Sen Chowdhary    schedule 31.12.2014

Вы можете попробовать это на этом примере

  <ws:consumer-config name="Web_Service_Consumer" 
 
 
         wsdlLocation="somelocation_1.0.wsdl" 
 
 
         service="GreeterResponderService" port="GreeterResponderPort" 
 
 
         serviceAddress="http://user:password@localhost:8088/mockbinding" 
 
 
         doc:name="Web Service Consumer"/>

person Utsav    schedule 12.12.2015