Использование веб-службы TIBCO BusinessWorks из формы .NET - PullRequest
0 голосов
/ 27 марта 2011

У меня есть процесс BW, представленный как веб-сервис, и я хочу использовать его с помощью формы C # .NETОднако мое приложение продолжает показывать исключение: нет обработчика для элемента body, а также следующая трассировка стека (как показано ниже).Я запустил процесс BW в тестовом режиме, чтобы проверить состояние процесса, и обнаружил, что запрос не достиг BW.Я также протестировал тот же процесс с использованием soapUI, который отлично запустил запрос веб-службы.Любые предложения?

Мой код выглядит следующим образом:

        ServiceReference1.PortTypeClient client = new ServiceReference1.PortTypeClient();
        ServiceReference1.new_incident_report report = new ServiceReference1.new_incident_report();

        report.contact_details = new ServiceReference1.contact_details();
        report.contact_details.name = "John Doe";
        report.contact_details.contactno = "1234567890";
        report.incident_details = new ServiceReference1.incident_details();
        report.incident_details.date = new DateTime();
        report.incident_details.time = new DateTime();
        report.incident_details.location = "80 Dutch Road";
        report.operator_comments = new ServiceReference1.operator_comments();
        report.operator_comments.operator_name = "Bob";
        report.operator_comments.operator_summary = "Something";

        MessageBox.Show(client.processOperation(report));

Трассировка стека сервера: в System.ServiceModel.Channels.ServiceChannel.HandleReply (операция ProxyOperationRuntime, ProxyRpc & rpc) в System.ServiceModel.Channels.ServiceChannel.Call (действие String, логическое одностороннее действие, операция ProxyOperationRuntime, Object [] ins, Object [] ауты, время ожидания TimeSpan) в System.ServiceModel.Channels.ServiceChannel.Call (действие String, логическое одностороннее действие, операция ProxyOperationRuntime, Object [] ins, Object [] outs) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (метод IMethodCallMessageCall, операция ProxyOperationRuntime) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke (сообщение IMessage 100) на 0 * * * *.ssOperation (запрос processOperationRequest) в MyWebServiceConsumer.ServiceReference1.PortTypeClient.MyWebServiceConsumer.ServiceReference1.PortType.processOperation (запрос processOperationRequest) в c: \ users \ ystan.2009 \ Documents \ Visual Studio 2010 \ Reservice MySource \ ReferencesReference.cs: строка 327 в MyWebServiceConsumer.ServiceReference1.PortTypeClient.processOperation (new_incident_report new_incident_report) в каталоге c: \ users \ ystan.2009 \ documents \ visual studio 2010 \ Projects \ MyWebServiceConsumer \ MyWebServiceConsumer \ Ссылка на службу ссылки333 в MyWebServiceConsumer.Form1.button1_Click (Отправитель объекта, EventArgs e) в c: \ users \ ystan.2009 \ documents \ visual studio 2010 \ Projects \ MyWebServiceConsumer \ MyWebServiceConsumer \ Form1.cs: строка 44

1 Ответ

1 голос
/ 09 апреля 2015

Для тех, кто все еще смотрит на это, решение заключается в том, чтобы вручную создать пакет SOAP, который правильно отправляется в BW.Утилита .NET Web Reference и BW по какой-то причине кажутся несовместимыми.

...