Re: AW: AW: AW: Connection reset when not using tcpmonitor

Humberto Costa de Santana <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <[email protected]>
Hello Josef,

Now I've managed to run the webservice.
I don't exactly what was the problem, but your checklist was very useful.

In the end I installed Eclipse Axis2 Code Generator plug-in e made the 
client using this plug-in. (I was using wsdl2java)
And then it started communicating properly.

Later I had just one problem. When webservice sends an error message, 
axis breaks.
But I discovered that the problem was http version. Axis uses 1.2 and 
the server 1.1.

I set this configuration
bookingService._getServiceClient().getOptions().setSoapVersionURI(org.apache.axis2.Constants.URI_SOAP11_ENV);

And now everything is working like a charm.

Josef I really appreciate your help


*Humberto Costa de Santana*
Grupo de Desenvolvimento de Sistemas - AI - Reitoria
Em 08-11-2012 06:54, Stadelmann Josef escreveu:
>
> Humberto
>
> the best way to understand interoperation issues between foreign 
> client and server architectures is as such
>
> 1.build your ASP.NET service and make your ASP.NET client connecting 
> to it, make it work well.
>
> 2.build your axis2 service and have your axis2 client connecting to 
> it, make it work well
>
> 3.if you are satisfied with each take WireShark (TCP Monitor) to see 
> how ASP.net works and then how AXIS2 works on the wire
>
> 4.think wire and protocol and seek independence on this level
>
> 5.notice the difference in protocol
>
> 6.then take your axis2 client and try to make it understand your 
> ASP.net service
>
> 7.or take your ASP.net client and make it work with your axis2 service
>
> 8.you will learn a lot
>
> That is what I always do when I have to make client services work in 
> heterogeneous environments
>
> Josef
>
> *Von:*Humberto Costa de Santana [mailto:[email protected]]
> *Gesendet:* Mittwoch, 7. November 2012 11:54
> *An:* [email protected]
> *Betreff:* Re: AW: AW: Connection reset when not using tcpmonitor
>
> Hello Josef, thanks a lot for your help.
>
> I'll explain exactly what I am trying to do.
> The company where I work has an equipment to make video conferences. 
> This equipment has a webservice made in ASP.net that is used to 
> arrange rooms and systems to realize the conferences. So I don't have 
> the server side source code. I can't make any change in it.
>
> I'm trying to consume the above mentioned webservice with axis2 (I 
> tried with axis 1 as well and got the same error). I generated all the 
> client beans using Eclipse tool and it works perfectly when I use 
> TCP/IP monitor tool (that comes with Eclipse) to see the xml flow.
> But the same client does not work when I run it right to the webservice.
>
> Example:
> When I run the client with the address 
> http://localhost:8081/tms/external/Booking/BookingService.asmx 
> everything works, because this is the address to TCP/IP monitor, and 
> TCP/IP Monitor is responsible to connect with the server.
> But when I use the right address, that is 
> http://serverhostname/tms/external/Booking/BookingService.asmx, the 
> same client does not work.
>
> My client doesn't have axis2.xml configuration. I'll try to adjust the 
> transport according to your tip.
> I'll tell you if it works.
>
> Thanks a lot
>
> *Humberto Costa de Santana*
> Grupo de Desenvolvimento de Sistemas - AI - Reitoria
>
> Em 06-11-2012 13:49, Stadelmann Josef escreveu:
>
>     Humberto,
>
>       
>
>     can you check at your server /catalina_home/webapps/WEB-INF/conf/axis2.xml
>
>     for proper Transport Ins selection.
>
>       
>
>     the default configuration assumes that Axis2Servlet only receives request through HTTP.
>
>       
>
>     in case you have uncommented for tcp, comment it out and make sure only http is engaged!
>
>          <!--Uncomment if you want to have TCP transport support-->
>
>          <!--transportReceiver name="tcp"
>
>                             class="org.apache.axis2.transport.tcp.TCPServer">
>
>              <parameter name="port">6060</parameter-->>
>
>     make sure you comment out as shown above the tcp transport.
>
>       
>
>       
>
>     Also check that the proper Transport Outs are enabled!
>
>     i.e. uncomment as shown below for not having any TCP outgoing transports selected
>
>          <!--Uncomment if you want to have TCP transport support-->
>
>          <!--
>
>          <transportSender name="tcp"
>
>                           class="org.apache.axis2.transport.tcp.TCPTransportSender"/>
>
>          -->
>
>       
>
>     outgoing and incoming is sometime confusing.
>
>     it depends what your axis2.xml configurations are.
>
>       
>
>     if your axis2.xml configures a service
>
>     or
>
>     if your axis2.xml configures your client,
>
>     the meanings are different.
>
>       
>
>     So given you have an axis2.xml to configure your client, look at this as well.
>
>     And may you can show me your service.xml content.
>
>       
>
>     Also, how is your client configuring done  for startup?
>
>       
>
>     Josef
>
>       
>
>       
>
>       
>
>       
>
>     Von: Humberto Costa de Santana [mailto:[email protected]]
>
>     Gesendet: Montag, 5. November 2012 19:17
>
>     An:[email protected]  <mailto:[email protected]>
>
>     Betreff: Re: AW: Connection reset when not using tcpmonitor
>
>       
>
>     Hi Josef, thanks for your reply.
>
>       
>
>     I tested with Wireshark and it seems that my client is sending exactly the same xml with or without tcpmonitor.
>
>     I really don't know why when I use the same client using tcpmonitor it works, while when I try directly to webservice it does not work.
>
>       
>
>     But I found a strange thing. When I configure tcpmonitor to tcp instead off http I get the same error.
>
>       
>
>     So. It seems that my client is sending message throught tcp and the server accepts only http.
>
>       
>
>     Is it possible that my client is using tcp instead of http to send the messages to the server?
>
>     If so how can I solve it?
>
>       
>
>     Thanks in advance
>
>       
>
>     PS: The server is ASP .net and the client is axis and the beans were made using Eclipse
>
>       
>
>       
>
>     Humberto Costa de Santana
>
>     Grupo de Desenvolvimento de Sistemas - AI - Reitoria
>
>     Em 01-11-2012 07:18, Stadelmann Josef escreveu:
>
>     1.  I would look at the stack trace below;
>
>     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>
>     "Server.userException", so the origin is somewhat clear! It is generated at the server/service side of the pond for whatever reason.
>
>     If this happens at the service, then it has potentially nothing to do with your client code.
>
>     Try to find the condition and place in code where this Server.userException is generated?
>
>       
>
>     2. I would use a Network Protocol Analyzer like Wireshark and lookout for a TCP RST issued sometimes by Windows.
>
>       
>
>     3. In the past we observed this TCP RST signal may times with Wireshark, and we could see a distributed NetBeans plugin fail, loosing connection as FTP client to its remote FTP server. Then engineering hat to deal with that and make a new plugin which was able to recover from this situation on a TCP RST.
>
>       
>
>       
>
>     4. if TCP RST (RESET) is not observed then it might be one of the many time outs one can adjust i.e. for Tomcat.
>
>       
>
>     Josef
>
>       
>
>       
>
>     Von: Humberto Costa de Santana [mailto:[email protected]]
>
>     Gesendet: Mittwoch, 31. Oktober 2012 17:19
>
>     An:[email protected]  <mailto:[email protected]>
>
>     Betreff: Connection reset when not using tcpmonitor
>
>       
>
>     I'm facing a very strange problem when consuming a webservice.
>
>       
>
>     When I consume the webservice using tcpmonitor it works fine. But when I use the real url I have the following problem:
>
>       
>
>     Exception in thread "main" AxisFault
>
>       faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
>
>       faultSubcode:
>
>       faultString: java.net.SocketException: Connection reset
>
>       faultActor:
>
>       faultNode:
>
>       faultDetail:
>
>          {http://xml.apache.org/axis/}stackTrace:java.net.SocketException: Connection reset
>
>          at java.net.SocketInputStream.read(SocketInputStream.java:189)
>
>          at java.net.SocketInputStream.read(SocketInputStream.java:121)
>
>          at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
>
>          at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
>
>          at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
>
>          at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
>
>          at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>
>          at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>
>          at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>
>          at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
>
>          at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
>
>          at org.apache.axis.client.Call.invoke(Call.java:2767)
>
>          at org.apache.axis.client.Call.invoke(Call.java:2443)
>
>          at org.apache.axis.client.Call.invoke(Call.java:2366)
>
>          at org.apache.axis.client.Call.invoke(Call.java:1812)
>
>          at net.tandberg._2004._02.tms.external.booking.BookingServiceSoapStub.saveConference(BookingServiceSoapStub.java:681)
>
>          at test.client.TesteBooking.main(TesteBooking.java:51)
>
>       
>
>     Does somebody know what is happening?
>
>       
>
>     Thanks in advance
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.