org.springframework.ws.soap.client.SoapFaultClientException: отсутствует обязательный заголовок, представляющий свойство адресации сообщения. - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь реализовать службу, которая пытается войти в систему, отправив две строки «имя пользователя» и «пароль» с использованием SOAP.План состоит в том, чтобы просто получить ответ HTTP OK от провайдера.Входная часть wsdl выглядит следующим образом:

<message name="login">
  <part name="username" type="xsd:string"/>
  <part name="password" type="xsd:string"/>
</message>

Я настроил клиентскую сторону, как описано здесь https://codenotfound.com/spring-ws-example.html.

Итак, моя конфигурация выглядит так:

@Configuration
public class AppConfig {

@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}


@Bean
Jaxb2Marshaller jaxb2Marshaller() {
    Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();

    jaxb2Marshaller.setContextPath("http://example");

    return jaxb2Marshaller;
}

@Bean
public WebServiceTemplate webServiceTemplate() {
    WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
    webServiceTemplate.setMarshaller(jaxb2Marshaller());
    webServiceTemplate.setUnmarshaller(jaxb2Marshaller());
    webServiceTemplate.setDefaultUri("http://example");

    return webServiceTemplate;
}
}

И метод, в котором я пытаюсь отправить информацию для входа в систему, выглядит следующим образом:

@Autowired
private WebServiceTemplate webServiceTemplate;

@Override
public String login(String username, String password) throws Exception{     
    ObjectFactory factory = new ObjectFactory();
    StringArray login = factory.createStringArray();
    login.getItem().add(username);
    login.getItem().add(password);
    System.out.println("WebServiceTemplate is "+ webServiceTemplate);
    String response = (String)webServiceTemplate.marshalSendAndReceive(login);

    return response;
}

Тем не менее, я продолжаю получать сообщение об ошибке:

org.springframework.ws.soap.client.SoapFaultClientException: A required header representing a Message Addressing Property is not present

Я довольно новичок вSpring Boot и SOAP, так что я вроде как потерялся.

...