2

Pre-info: I'm learning to use orchestration of web methods(WM). I've sucessfully completed lessons with assings, invoking web methods, some parallel processing in BPEL. I'm using Eclipse Indigo 3.7.1 with BPEL plugins, Tomcat7 server with Apache Ode as orchestration base. At other side I need to learn calling secured WMs written on Mono .Net platform.

Having now: Now I'm having problem calling ANY web methods. I've made: 1) Web Method running by Mono .Net - works, can be tested with browser (http://localhost:8081/hwws.asmx ) and with Eclipse tool "Web Services Explorer", it works fine. 2) my BPEL that only invokes this .Net web method throught SOAP port. 3) at other work stantion I've made .Net service with Visual Studio. Having errors either, if need I'll post it text later.

Problem: I'm getting errors at invoking.

Screens: 1) browser test of .net WS HW(helloWorld) http :// photo -hosting.winsoftmagic .com/ 1/ s4nbwdsqib.jpg 2) Eclipse test of .net WS HW http://photo-hosting.winsoftmagic.com/1/zywnl2wtgu.jpg 3) Error I get http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg

Error listing:

18:15:25,294 WARN ExternalService Fault response: faultType=(unkown) soap:ClientCould not deserialize Soap message 18:15:25,376 ERROR INVOKE Failure during invoke: 18:15:25,382 INFO BpelRuntimeContextImpl ActivityRecovery: Registering activity 11, failure reason: on channel 21

And it's give timeout error later. I've spent a week around this problems already, searched with all ways I could think up.

EDIT 12.03.2012:

Now test with mono WS worked for some reason. I've tryed call WS from the internet and it gave the same error as I had at work spot:
14:25:16,177 ERROR [INVOKE] Failure during invoke: Error sending message (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] calling org.apache.ode.bpel.epr.WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC}): The input stream for an incoming message is null. 14:25:16,178 INFO [BpelRuntimeContextImpl] ActivityRecovery: Registering activity 11, failure reason: Error sending message (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] calling org.apache.ode.bpel.epr.WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC}): The input stream for an incoming message is null. on channel 21

In same time this service works from all test forms.

Edit: 16.03.2012

My mono method stopped work same as it started without my understanding. TcpMon-1.1.jar shows such message again:
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>

Actually I get one of 3 errors: couldn't deserialise, The input stream for an incoming message is null or even error 411 yesterday:) P.s. had 4th error with no socket connecting also, but all them vanished.

My main goal is ssl+authorisation .net services - would be gratefull if you have examples. Thanks a lot to everyone! It's real pleasure to see your help:)

vanto
  • 3,134
  • 18
  • 28
Eluny
  • 574
  • 5
  • 15
  • Do you see any errors at the service's end? Can you intercept (You can use [TCPMon](http://java.net/projects/tcpmon)) the message sent from the ODE to the Mono service and check whether it is correct. You can use [SoapUI](http://www.soapui.org/) to test the webservice using the intercepted message. – warunapww Mar 11 '12 at 16:46
  • Can you also attach the request xml which is partially visible in the [attached image](http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg) and it's schema as well? – Denis Weerasiri Mar 11 '12 at 17:47
  • You ask for deploy.xml? here it is http://photo-hosting.winsoftmagic.com/1/7dibhqqdc2.jpg graphical + text view – Eluny Mar 12 '12 at 07:31
  • Thanks for answers!) For some reason it worked today without visible changes http://photo-hosting.winsoftmagic.com/1/ex638egujb.jpg . About TcpMon-1.1.jar - I've recompiled it with manifest(with command from issues post) so it works, but it not gets any messages. I've tryed variating with ports. About goal - now need to do it on main machine. – Eluny Mar 12 '12 at 09:06
  • The problem seems to be that the expected soap message from the Mono service is not sent from the ODE. In-order to find the issue with the SOAP message (from ODE to Mono service), You need to intercept the message using TCPMon. Then you can use SOAPUI to test the message against Mono service. It is recommended to use SOAPUI against "Web Service Explorer" since SOAP UI shows the raw soap message and easy to trouble shoot. – warunapww Mar 12 '12 at 09:15

2 Answers2

0

The same error has occured with me, the problem was with the web service itself, I had an empty constructor plus the methodes wich causes a problem, the solution is to delete the constructor.

Lola Loulita
  • 471
  • 4
  • 21
0

Thanks to all, testing soap-body shown that it was good and problem was in headers part which had some strange "Chunked" and numbers before xml (length of xml text) and 0 after xml end. I just set http.request.chunk=false and now it work at all my tests yet. For that purpose download sample.endpoint from http://ode.apache.org/endpoint-configuration.html , renamed it as bpel name (MonoCaller.bpel => MonoCaller.endpoint). It has string for chunked already commented. And also added something like http.default-headers.authorization=Basic <64b code of "login:password" made in any coder> for authorization purpose and it also works now! :-]

Eluny
  • 574
  • 5
  • 15