Звоните SOAP веб-сервис с ngx soap с Angular - PullRequest
0 голосов
/ 03 марта 2020

Для школьного проекта мне нужно создать SOAP веб-сервис на сервере Wildfly. Я использую проект Thorntail для запуска своего веб-сервиса, и все в порядке, для его вызова я использую библиотеку ngx- soap из моего приложения angular, но у меня возникает ошибка в thorntail:

org. apache .cxf.interceptor.Fault: HTTP-глагол не был GET или POST.

Здесь мой код в thorntail

@WebService(targetNamespace = "http://localhost:8080/TransactionUserService")
public interface TransactionUserService {

    /**
     * Say hello to someone precisely
     *
     * @param user to refund
     * @return true if ok.
     */
    @WebMethod
    public boolean refundCustomer(UserInputSoap user);

Кто-нибудь знает, как переопределить глагол http в ngx- soap?

Я пытался поместить глагол в заголовки, но он не работает ...

Вот мой angular код контроллера.

import { Component, OnInit } from '@angular/core';
import { NgxSoapService, Client, ISoapMethodResponse } from 'ngx-soap';

@Component({
  selector: 'app-order',
  templateUrl: './order.component.html',
  styleUrls: ['./order.component.css']
})
export class OrderComponent implements OnInit {
  client: Client;
  result: boolean = false;
  constructor(private soap: NgxSoapService) {
    this.soap.createClient('assets/userTransaction.wsdl').then(client => this.client = client).catch(error => {
      console.log(error);
    });
  }

  ngOnInit() {
  }

  refundUser(id: number) {
    const userInput = {
      id
    };
    this.client.call('refundCustomer', userInput, {method : 'POST'}, {method : 'POST'}).subscribe(res => console.log(res), error => console.log(error));
  }

}

Спасибо

...