Re: WOWebserviceClient: invalid argument

Chuck Hill <[email protected]> Thu, 16 Jul 2009 12:12:40 -0700
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
On Jul 16, 2009, at 9:18 AM, Kristof Cossement wrote:

> Hi, does someone have a solution for this problem ?
>
>
> I have a recurring problem in WO 5.4 with WOWebserviceClient.invoke:
>
>
> sometimes we get an exception on WOWebServiceClient.invoke
>
> 			private static WOWebServiceClient caller = ...;
> 			
>
> 			Object [] oo = new Object [] {"aa","bb"};
> 			Object result = caller.invoke("Service","getUserForID", oo);
>
> and 5 seconds later, the invoke can work again, with exact the same  
> arguments.
>
>
> Our WO applications is multithreaded and a lot of threads will use  
> the caller object to access differernt functions of a webservice (a  
> WebObjects webservice)
>
> Can it be that WOWebserviceClient is not thread safe and that  
> accessing it simultaneously causes this error ?

That is what it looks like to me, from your stack trace and description.


Chuck

> The reason I made caller static is to save time to not have to  
> instantiate a new WOWebServiceClient object each time I want to make  
> a service call.
>
>
> Is there any source code available of WOWebServiceClient.java ?
>
>
> Thanks for your collaboration !
>
>
>
> Kristof
>
>
> 16/07/2009 15:32:54:106 [ERROR] <WorkerThread9> Exception(Message:  
> Exception trying to invoke operation: getUserForID,  
> Cause:java.net.SocketException: Invalid argument)
> com.webobjects.foundation.NSForwardException  
> [org.apache.axis.AxisFault] ; nested exception is:
> 	java.net.SocketException: Invalid argument:Exception trying to  
> invoke operation: getUserForID
> 	at  
> com 
> .webobjects 
> .webservices 
> .client.WOWebServiceClient.invoke(WOWebServiceClient.java:491)
> 	at  
> be 
> .nss 
> .correctvit.service.PortalClient.getUserInfoForID(PortalClient.java: 
> 182)
> 	at  
> be 
> .nss 
> .correctvit 
> .database.SQLGenerator.selectCorrectVitDocuments(SQLGenerator.java: 
> 455)
> 	at  
> be 
> .nss 
> .correctvit 
> .service 
> .WOSOAPCorrectvitFunctions 
> .getCorrectVitDocuments(WOSOAPCorrectvitFunctions.java:177)
> 	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
> 	at  
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at  
> org 
> .apache 
> .axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
> 	at  
> org 
> .apache 
> .axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
> 	at  
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java: 
> 323)
> 	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.handlers.soap.SOAPService.invoke(SOAPService.java:454)
> 	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
> 	at  
> com 
> .webobjects 
> .appserver 
> ._private.WOWebService.performActionNamed(WOWebService.java:437)
> 	at  
> com 
> .webobjects 
> .appserver 
> ._private 
> .WOActionRequestHandler._handleRequest(WOActionRequestHandler.java: 
> 259)
> 	at  
> com 
> .webobjects 
> .appserver 
> ._private 
> .WOActionRequestHandler.handleRequest(WOActionRequestHandler.java:161)
> 	at  
> com 
> .webobjects 
> .appserver 
> ._private 
> .WOWebServiceRequestHandler 
> .handleRequest(WOWebServiceRequestHandler.java:109)
> 	at  
> com 
> .webobjects 
> .appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
> 	at be.nss.correctvit.Application.dispatchRequest(Application.java: 
> 792)
> 	at  
> com 
> .webobjects 
> .appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
> 	at  
> com 
> .webobjects 
> .appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
> 	at java.lang.Thread.run(Thread.java:613)
> Caused by: java.net.SocketException: Invalid argument
> 	at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
> 	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java: 
> 154)
> 	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  
> com 
> .webobjects 
> .webservices 
> .client.WOWebServiceClient.invoke(WOWebServiceClient.java:484)
> 	... 23 more
> Caused by: java.net.SocketException: Invalid argument
> 	at java.net.SocketInputStream.socketRead0(Native Method)
> 	at java.net.SocketInputStream.read(SocketInputStream.java:129)
> 	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> 	at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
> 	at  
> org 
> .apache 
> .axis 
> .transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
> 	at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java: 
> 143)
> 	... 33 more
>
> Looking for Web-to-Print Solutions?
> Visit our website : http://www.vit2print.com
>
>
> This e-mail, and any attachments thereto, is intended only for use  
> by the addressee(s) named herein and may contain legally privileged  
> and/or confidential information and/or information protected by  
> intellectual property rights.
> If you are not the intended recipient, please note that any review,  
> dissemination, disclosure, alteration, printing, copying or  
> transmission of this e-mail and/or any file transmitted with it, is  
> strictly prohibited and may be unlawful.
> If you have received this e-mail by mistake, please immediately  
> notify the sender and permanently delete the original as well as any  
> copy of any e-mail and any printout thereof.
> We may monitor e-mail to and from our network.
>
> NSS nv Tieltstraat 167 8740 Pittem Belgium
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>
> This email sent to [email protected]

-- 
Chuck Hill             Senior Consultant / VP Development

Learn WO at WOWODC'09 East in Montréal this August!
http://www.wocommunity.org/wowodc09/east

http://arstechnica.com/apple/news/2009/07/webobjects-sliced-from-106but-prognosis-of-death-premature.ars