2012-03-10 4 views
2

Предварительная информация: Я учусь использовать оркестровку веб-методов (WM). Я успешно завершил занятия с помощью assings, вызывая веб-методы, некоторые параллельные обработки в BPEL. Я использую Eclipse Indigo 3.7.1 с плагинами BPEL, сервером Tomcat7 с Apache Ode в качестве базы оркестровки. С другой стороны мне нужно научиться звонить на защищенные WM-файлы, написанные на платформе Mono .Net.Вызов внешних веб-методов с проблемами BPEL + Apache Ode (вызов .Net asmx)

Имея сейчас: Теперь у меня проблема при вызове ЛЮБОГО веб-метода. Я сделал: 1) Веб-метод, выполняемый Mono .Net - работает, может быть протестирован с помощью браузера (http: // localhost: 8081/hwws.asmx) и с помощью инструмента Eclipse «Web Services Explorer», он отлично работает. 2) мой BPEL, который вызывает этот сетевой метод .Net через SOAP-порт. 3) на другом рабочем месте я сделал .Net-сервис с Visual Studio. Также есть ошибки, если нужно, я отправлю текст позже.

Задача: У меня возникают ошибки при вызове.

Экраны: 1) браузер тестироВание .net WS HW (HelloWorld) HTTP: // фото -hosting.winsoftmagic .com/1/s4nbwdsqib.jpg 2) Затмение тестироВание .net WS HW http://photo-hosting.winsoftmagic.com/1/zywnl2wtgu.jpg 3) Ошибка я получаю http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg

список ошибок:

18: 15: 25294 WARN ExternalService Fault ответ: faultType = (Unkown) мыло: не ClientCould десериализации мыло сообщение 18: 15: 25376 ERROR Сбой ВЫЗОВ во время Invoke: 18: 15: 25382 INFO BpelRuntimeContextImpl ActivityRecovery: Регистрация активности 11, отказ причина: на канале 21

И это даст ошибку таймаута позже. Я уже неделю провел вокруг этих проблем, искал все, что мог придумать.

EDIT 12.03.2012:

Теперь проверить с моно WS работал какой-то причине. Я судимый WS вызовов из Интернета, и он дал такую ​​же ошибку, как я был на работу месте:

14: 25: 16177 ERROR [ВЫЗОВ] Сбой при Invoke: отправка сообщения об ошибке (MEX = { PartnerRoleMex # hqejbhcnphr747jefui9ic [PID {http: //wsaspx.tns/} inetWS-24] вызывает [email protected] (...) Status ASYNC}): входной поток для входящее сообщение равно null. 14: 25: 16,178 INFO [BpelRuntimeContextImpl] ActivityRecovery: Регистрация активности 11, причина сбоя: сообщение об ошибке отправки сообщения (mex = {PartnerRoleMex # hqejbhcnphr747jefui9ic [PID {http: //wsaspx.tns/} inetWS-24] вызывает org.apache. [email protected] (...) Состояние ASYNC}): входной поток для входящего сообщения равен нулю. на канале 21

В то же время эта услуга работает со всеми тестовыми формами.

Edit: 16.03.2012

Мой метод моно перестал работать же, как и началось без моего понимания. TcpMon-1.1.jar показывает такое сообщение еще раз:

POST /hwws.asmx HTTP/1.1 
Content-Type: text/xml; charset=UTF-8 
SOAPAction: "http://hwws.tps/HelloWorld" 
User-Agent: Axis2 
Host: localhost:8092 
Transfer-Encoding: chunked <--- EDITED: REASON OF NOT WORKING ---- 

31c 
<?xml version='1.0' encoding='UTF-8'?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
<soapenv:Header> 
<addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8092/hwws.asmx</addr:To> 
<addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">http://hwws.tps/HelloWorld</addr:Action> 
<addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo> 
<addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr74k7fapcntd</addr:MessageID> 
</soapenv:Header> 
<soapenv:Body><HelloWorld xmlns="http://hwws.tps/"> 
<s0:st xmlns:s0="http://hwws.tps/">My test message</s0:st> 
</HelloWorld></soapenv:Body></soapenv:Envelope> 
0 

HTTP/1.0 500 Internal Server Error 
Date: Fri, 16 Mar 2012 08:01:50 GMT 
Server: Mono.WebServer2/0.4.0.0 Unix 
Connection: close 
X-AspNet-Version: 4.0.30319 
Content-Length: 366 
Cache-Control: private 
Content-Type: text/xml; charset=utf-8 

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Body><soap:Fault><faultcode>soap:Client</faultcode> 
<faultstring>Could not deserialize Soap message</faultstring> 
</soap:Fault></soap:Body></soap:Envelope> 

На самом деле я получаю одну из трех ошибок: не удалось десериализовать. Входной поток для входящего сообщения равен нулю или даже ошибке 411 вчера :) P.s. была 4-я ошибка без подключения сокета, но все они исчезли.

Моя основная цель - ssl + авторизация .net services - была бы признательна, если у вас есть примеры. Спасибо всем! Это настоящее удовольствие, чтобы увидеть вашу помощь :)

+0

Вы видите ошибки в конце обслуживания? Вы можете перехватить (вы можете использовать [TCPMon] (http://java.net/projects/tcpmon)) сообщение, отправленное из ODE в службу Mono, и проверить, правильно ли оно. Вы можете использовать [SoapUI] (http://www.soapui.org/) для проверки веб-службы с помощью перехваченного сообщения. – warunapww

+0

Можете ли вы также приложить запрос xml, который частично видится в [прикрепленном изображении] (http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg), и это также схема? –

+0

Вы запрашиваете deploy.xml? здесь это http://photo-hosting.winsoftmagic.com/1/7dibhqqdc2.jpg графический + текстовый вид – Eluny

ответ

0

Спасибо всем, тестирование мыла тело показало, что это было хорошо и проблемы была в заголовков часть, которая имела какой-то странное «блочный» и номер до XML (длиной xml text) и 0 после окончания xml. Я просто настроил http.request.chunk = false, и теперь он работает на всех моих тестах. Для этого загрузите sample.endpoint из http://ode.apache.org/endpoint-configuration.html, переименованный в качестве имени bpel (MonoCaller.bpel => MonoCaller.endpoint). Он имеет строку для chunked, уже прокомментированную. А также добавил что-то вроде http.default-headers.authorization = Basic < 64b код «login: password», сделанный в любом кодере> для цели авторизации, и он также работает сейчас! : -]

0

Та же ошибка произошла со мной, проблема была с самой веб-службы, у меня был пустой конструктор плюс methodes которым вызывает проблемы, решениеудалить конструктор.