RE: Too many sockets being created. Bad architecture?

2006-08-02 Thread Sunil D'Monte
I would second that... asynchronous is definitely the way to go. And I
don't think it's a just a matter of the number of sockets at the OS
level, it's also a matter of the number of threads your web/app server
can run. A heavy-duty app server like weblogic has 15 execute threads by
default. Here you're talking about a 100 new requests coming in per
second, and each taking 25 seconds to complete. So even if you had 10
weblogic servers in a load-balanced cluster, you would still run out of
available threads after just a few seconds ...

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com
  

> -Original Message-
> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, August 02, 2006 17:18
> To: axis-user@ws.apache.org
> Subject: Re: Too many sockets being created. Bad architecture?
> 
> My question is :
> What is the standard way to architect web services which have 
> a very long blocking synchronous operations ?
> 
> Don't. Design an asynchronous exchange instead.
> 
> Anne
> 
> On 8/2/06, kk kk <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I am developing a WS which provides an operation that takes 
> around 25 
> > seconds to complete. I can not speed this up nor I can not use a 
> > polling pattern or a callback to inform the client of the result of 
> > the request.
> >
> > I want to make the WS server capable to handle 100 new requests per 
> > second, so 100 x 25 = 2500 sockets connections will exist 
> at any point 
> > in time with my current design !! I am sure this is bad but am not 
> > sure what is the best way to go to get a scalable solution with a 
> > single server process.
> >
> > I am using Axis 1.2 and Tomcat on the server which is a Sun Solaris 
> > box. My test client is a Axis/Java application though I need to be 
> > able to support other clients too.
> >
> > As expected, I can see huge numbers of open sockets and FDs 
> using unix 
> > commands like netstat and lsof.
> >
> > I have been experimenting with TCP/IP kernel setting on the 
> server and 
> > using ideas from 
> > 
> http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=
> > /com.ibm.websphere.express.doc/info/exp/ae/tprf_tunesolaris.html
> > I have used
> > ndd -set /dev/tcp tcp_conn_req_max_q 8000 to increase number of 
> > sockets that the server can handle and this does seem to 
> allow a 1500+ 
> > parallel sockets to exist.
> >
> > My question is :
> > What is the standard way to architect web services which 
> have a very 
> > long blocking synchronous operations ?
> > Assuming I have a small number of clients each making many 
> WS calls is 
> > there a way to somehow multiplex many SOAP requests for 
> eackh client 
> > down one socket?
> > Is there a way to get Axis/Tomcat server to use UDP/IP rather than 
> > TCP/IP?
> >
> > I am new to this and all ideas much appreciated.
> >
> > Cheers,
> > KP
> >
> >
> >
> >
> >
> >
> > ___
> > All new Yahoo! Mail "The new Interface is stunning in its 
> simplicity 
> > and ease of use." - PC Magazine 
> > http://uk.docs.yahoo.com/nowyoucan.html
> >
> > 
> -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Web Client connecting Axis Service over HTTPS with client cer tificate authentication

2005-12-13 Thread Sunil D'Monte
Set
System.setProperty("javax.net.debug", "all");

and see if it gives you any extra information...

It could be that your servlet/j2ee container is overriding the truststore
with its default one (lib/security/cacerts). Try configuring your container
to use your trust keystore instead of this (or add your trusted cert to the
existing keystore). Generally speaking this is a better practice than doing
it programmatically anyway. :) 

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com
 

> -Original Message-
> From: Nicolas Vahlas [mailto:[EMAIL PROTECTED]
> Sent: Monday, December 12, 2005 17:48
> To: axis-user@ws.apache.org
> Subject: Web Client connecting Axis Service over HTTPS with client
> certificate authentication
> 
> 
> I have deployed an Axis Web Service on Tomcat.
> This service is accessible only through HTTPS with client certificate 
> authentication.
> I have successfully written a Java Client, which uses this service. I 
> set the following System properties in order to make my Java 
> client use 
> a certificate:
> 
> System.setProperty("javax.net.ssl.keyStore","...");
> System.setProperty("javax.net.ssl.keyStoreType","JKS");
> System.setProperty("javax.net.ssl.keyStorePassword","...");
> System.setProperty("javax.net.ssl.trustStore","...");
> System.setProperty("javax.net.ssl.trustStoreType","JKS");
> System.setProperty("javax.net.ssl.trustStorePassword","...");
> 
> Now I want to write a "client" servlet, which will call this Web 
> Service. I have troubles establishing the HTTPS connection from the 
> Servlet: the handshake fails.
> Does anybody know how I am supposed to do something similar to what I 
> did for the client application in order to make my servlet use the 
> appropriate certificate ?
> 
> Thanks
> 
> -- 
> VAHLAS Nicolas 
> Senior Software Engineer
> 
> Quality & Reliability
> Διευ.: Κονίτσης 11Β,
>151 25 Μαρούσι
> Τηλ.:  210 80 29 409 (270)
> Mail:  [EMAIL PROTECTED]
> 
> 


RE: axis changes wsdl soap:address

2005-10-19 Thread Sunil D'Monte
The  element refers to a WSDL that is in the classpath (or the VM
startup directory), not one that is in the web directory. I think what Guy
was suggesting is that you put the WSDL in both locations, so that clients
can see the original unmodified WSDL if they want to.

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com
 

> -Original Message-
> From: Richard Gregory [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, October 19, 2005 16:00
> To: axis-user@ws.apache.org
> Subject: Re: axis changes wsdl soap:address
> 
> 
> I tried putting the wsdl file on my personal web server (I 
> can see it in 
> a browser) and putting the url of the wsdl file in the  
> element of my deploy.wsdd, but axis can't find it.
> 
> 
> AXIS error
> 
> Sorry, something seems to have gone wrong... here are the details:
> 
> Fault - Unable to find WSDL file or resource 
> http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl
> 
> AxisFault
>  faultCode: 
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
>  faultSubcode: 
>  faultString: Unable to find WSDL file or resource 
> http://www.richardgregory.net/BiorsAdvancedQueryDocStyle.wsdl
>  faultActor: 
>  faultNode: 
>  faultDetail: 
>   {http://xml.apache.org/axis/}hostname:mws13
> 
> 
> If this is a feature, do you know if there is any way of 
> turning it off? 
> I've looked through all the axis configuration information I 
> can find, 
> but I couldn't find any mention of this happening, let alone how to 
> disable it if required. I would have thought that if there is the 
> facility to have a custom wsdl file returned rather the wsdl 
> generated 
> by axis, it must be possible ensure that the wsdl is returned 
> exactly as 
> it was written, with no changes from axis.
> 
> Thanks,
> 
> Richard.
> 
> Guy Rixon wrote:
> 
> >This is a feature, I think. In fact, it's a feature that my 
> project likes. :)
> >
> >The assumption is that you might have a dynamic SOAP client 
> that can discover
> >a service as run-time and call it working only from the 
> WSDL. In that case,
> >it's important that the WSDL contain the true endpoint. 
> "True" means what the
> >client would call, so the WSDL varies according to the 
> client's position on
> >your net.
> >
> >
> >If you want to publish WSDL with a textually-fixed endpoint, 
> put the file on a
> >web server. External clients will all see the same WSDL, I 
> think, so the
> >variations may not be a real problem.
> >
> >
> >On Tue, 18 Oct 2005, Richard Gregory wrote:
> >
> >  
> >
> >>Hi,
> >>
> >>Apologies if this has already been asked on the list, but I 
> did a search
> >>and couldn't find anything. I'm developing some axis 1.2.1 
> web services
> >>running in a tomcat 5.5.9 server. I've written the wsdl 
> files, and have
> >>these specified in the wsdd files for the services. At the 
> moment the
> >>soap:address location for the service is specified with the 
> IP address
> >>of my machine for testing, as follows:
> >>
> >>
> >> >>name="BiorsAdvancedQueryDocStyle">
> >>
> >>
> >>
> >>
> >>I've noticed that axis changes the soap:address to reflect 
> the URL used
> >>to request the wsdl. For example, if I call the wsdl files 
> using, for
> >>example, http:// >>address>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?ws
> dl , it is
> >>returned as I defined it in the wsdl:
> >>
> >>
> >> >>name="BiorsAdvancedQueryDocStyle">
> >>
> >>
> >>
> >>
> >>However, if I call the wsdl with
> >>http://localhost:8080/biorsws/services/BiorsAdvancedQueryDoc
> Style?wsdl ,
> >>the wsdl is changed to:
> >>
> >>
> >> >>name="BiorsAdvancedQueryDocStyle">
> >> >>location="http://localhost:8080/biorsws/services/BiorsAdvanc
> edQueryDocStyle"/>
> >>
> >>
> >>
> >>and if I use the name of the machine on our local network
> >>(http:// >>name>:8080/biorsws/services/BiorsAdvancedQueryDocStyle?wsdl) the
> >>returned wsdl contains:
> >>
> >>
> >> >>name="BiorsAdvancedQueryDocStyle">
> >>
> >>
> >>
> >>
> >>This happend whether I  request the wsdl in a browser, 
> using WSDL2Java,
> >&

RE: Deployment issues on OpenVMS

2005-10-18 Thread Sunil D'Monte
server-config.wsdd should be in the WEB-INF directory of your web
application...

Also when you say non-existent, what exactly do you mean - does it show up
in the list of services you get at /servlet/AxisServlet? Also do check the
logs in debug mode.

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com
 

> -Original Message-
> From: Willem Grooters [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, October 18, 2005 14:35
> To: 'axis-user@ws.apache.org'
> Subject: RE: Deployment issues on OpenVMS
> 
> 
> It wasn't, so I did add it myself (assuming the right spot is 
> in tomcat's
> [.webapps.axis] directory. I also added the jar files that contain the
> server's classes, but it seems non-existant still. Even after 
> tomcat was
> restarted.
> 
> in [.webapps.axis.classes] I found that the samples are not 
> stored as .jar
> files but expanded. Would I need to expand the jar files, or 
> specify them in
> stead of the full path:
> 
> Currently, it is sepcified as:
> 
>style="wrapped" use="literal">
>value="http://politie.nl/webservices/xpol/organisatie"/>
>value="OrganisatieWebService"/>
>value="OrganisatieWebServiceSoap"/>
>value="nl.politie.webservices.xpol.organisatie.OrganisatieWebS
> erviceSoapSkel
> eton"/>
>value="OrganisatieWebServiceSoap"/>
>   
> 
> The .jar files is named: OrganisatieWebService.jar, 
> containing the path
> nl/politie/webservices/xpol/organisatie. There are a number 
> of jars that
> hold calsses used in the application.
> 
> The current system does NOT carry the domain "politie.nl" - just the
> nodename. Does that matter?
> 
> Willem
> 
> -Oorspronkelijk bericht-
> Van: Sunil D'Monte [mailto:[EMAIL PROTECTED]
> Verzonden: dinsdag 18 oktober 2005 10:07
> Aan: 'axis-user@ws.apache.org'
> Onderwerp: RE: Deployment issues on OpenVMS
> 
> 
> Did it create an entry in your server-config.wsdd file? I 
> think that's all
> the admin client does; you could just as well copy and paste 
> the XML into
> server-config.wsdd yourself. It's worth trying this at least 
> to see if your
> service works.
> 
> Regards,
> Sunil D'Monte
> Tavant Technologies
> http://www.tavant.com
> 
> 
> > -Original Message-
> > From: Willem Grooters [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, October 18, 2005 12:37
> > To: 'axis-user@ws.apache.org'
> > Subject: Deployment issues on OpenVMS
> > 
> > 
> > Hi,
> > I'm running Apache 1.3-1, Tomcat 4.1.24 and Axis 1.1 under 
> > Java 1.4.2-P2 on
> > OpenVMS 7.3-1.
> > These all have been installed as dowloaded from the HP 
> > website, without
> > extensive configuration, so rather "out-of-the-box". All the 
> > examples can be
> > run nicely. Collegues running in a .NET environment obtain 
> > the right answers
> > when they access these services using the same URL's as I do from my
> > browser.
> > These collegues have an application that communicates with a 
> > TRU64 machine
> > for getting data, and they want to use the same client 
> application to
> > retrieve similar data from the VMS box. However, I cannot use 
> > the TRU64 java
> > code because the data is completely different (storage, 
> > lyaout, codes). They
> > sent me the WSDL file from the Unix application, from which I 
> > could create
> > the java sources that would form the webservices, using 
> WSDL2Java. The
> > generation process also creates a deploy.wsdd and 
> > undeploy.wsdd. I have
> > added code where required and could compile all without errror.
> > However, when using these the services do not show up at all:
> > 
> > $ java "org.apache.axis.client.AdminClient" 
> "/amazone_src/deploy.wsdd"
> > 
> > (the quotes are required since VMS is non case-senistive if 
> > non-quoted).
> > It tells me it processes the file, no problems at all, but 
> the service
> > appears to be non-existing.
> > I had problems on this before:
> > 
> > $ set def amazone_ws:[00] ! which is the root where the 
> > code started
> > (the web application path starts here)
> > $ java "org.apache.axis.client.AdminClient" ".//deploy.wsdd"
> > 
> > says it cannot find the file to process, but
> > 
> > $ set def [.amazone.ws] ! which is the same location 
> > amazone-ws:[00]
> > refers to!
&

RE: Deployment issues on OpenVMS

2005-10-18 Thread Sunil D'Monte
Did it create an entry in your server-config.wsdd file? I think that's all
the admin client does; you could just as well copy and paste the XML into
server-config.wsdd yourself. It's worth trying this at least to see if your
service works.

Regards,
Sunil D'Monte
Tavant Technologies
http://www.tavant.com


> -Original Message-
> From: Willem Grooters [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, October 18, 2005 12:37
> To: 'axis-user@ws.apache.org'
> Subject: Deployment issues on OpenVMS
> 
> 
> Hi,
> I'm running Apache 1.3-1, Tomcat 4.1.24 and Axis 1.1 under 
> Java 1.4.2-P2 on
> OpenVMS 7.3-1.
> These all have been installed as dowloaded from the HP 
> website, without
> extensive configuration, so rather "out-of-the-box". All the 
> examples can be
> run nicely. Collegues running in a .NET environment obtain 
> the right answers
> when they access these services using the same URL's as I do from my
> browser.
> These collegues have an application that communicates with a 
> TRU64 machine
> for getting data, and they want to use the same client application to
> retrieve similar data from the VMS box. However, I cannot use 
> the TRU64 java
> code because the data is completely different (storage, 
> lyaout, codes). They
> sent me the WSDL file from the Unix application, from which I 
> could create
> the java sources that would form the webservices, using WSDL2Java. The
> generation process also creates a deploy.wsdd and 
> undeploy.wsdd. I have
> added code where required and could compile all without errror.
> However, when using these the services do not show up at all:
> 
> $ java "org.apache.axis.client.AdminClient" "/amazone_src/deploy.wsdd"
> 
> (the quotes are required since VMS is non case-senistive if 
> non-quoted).
> It tells me it processes the file, no problems at all, but the service
> appears to be non-existing.
> I had problems on this before:
> 
> $ set def amazone_ws:[00] ! which is the root where the 
> code started
> (the web application path starts here)
> $ java "org.apache.axis.client.AdminClient" ".//deploy.wsdd"
> 
> says it cannot find the file to process, but
> 
> $ set def [.amazone.ws] ! which is the same location 
> amazone-ws:[00]
> refers to!
> $ java "org.apache.axis.client.AdminClient" ".//deploy.wsdd"
> 
> succeeded - but with an error as above. However, this is 
> considered a minor
> issue.
> 
> Above is the same on a 7.3-2 system, so the OS version is not 
> the problem.
> 
> Stopping and starting AXIS makes no difference, nor did stopping and
> restarting Tomcat. Even worse: all of a sudden, even this failed:
> 
> $ java "org.apache.axis.client.AdminClient" 
> "/amazone_src/deploy.wsdd" 
> Processing file /amazone_src/deploy.wsdd 
> Exception:: org.apache.axis.deployment.wsdd.WSDDException:
> javax.xml.rpc.JAXRPCException: Null serializer factory specified.
> javax.xml.rpc.JAXRPCException: Null serializer factory specified.
>  at 
> org.apache.axis.encoding.TypeMappingImpl.register(TypeMappingI
> mpl.java)
>  at 
> org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(
> WSDDServic
> >e.java)
>  at 
> org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java)
>  at 
> org.apache.axis.deployment.wsdd.WSDDService.(WSDDService.java)
>  at
> org.apache.axis.deployment.wsdd.WSDDDeployment.(WSDDDepl
> oyment.java)
>  at 
> org.apache.axis.deployment.wsdd.WSDDDocument.(WSDDDocument.java)
>  at org.apache.axis.utils.Admin.processWSDD(Admin.java)
>  at org.apache.axis.utils.Admin.process(Admin.java)
>  at org.apache.axis.utils.Admin.AdminService(Admin.java)
>  ... 
> 
> I'm not sure if stopping and starting of Tomcat has 
> influenced this (is
> shouldn't). Later, I stopped Axis, stopped Tomcat and started 
> it again, and
> found THIS problem was gone
> However, deployment of the service still is not possible.
> 
> One thing I noticed, just for completeness:
> WSDL2Java creates a file
> _GetConfigurationRequest_GetConfigurationResult.java - 
> containing the code
> of the same class. The filename is over 39 characters, so it will be
> truncated to 39 - causing trouble in building the service. I 
> changed the
> name of the class and file to _getConfRequest_GetConfResult - 
> and did the
> same where referenced in both other (generated) java code to get it
> compiled. I did change the reference to this class in 
> deploy.wsdd but that
> did not solve the problem - nor did it contribute to the last 
> issue, since
> restoring the original file did still trigger th

RE: soapenc:string rather then xsd:string ?

2005-10-07 Thread Sunil D'Monte
I seriously advise the WSDL-first approach - if you have that option. The
only time I'd use Java2WSDL is if I have an *existing* Java API that I want
to "expose" as a web service. When I first started playing around with Axis,
I broke my head over the Java-first approach for weeks... then I switched to
WSDL-first and it worked like a dream. The WSDL is the "contract" for your
web service - the fact that it's Java + Axis that implements it behind the
scenes is purely incidental. 

Just FYI I have several webservices with Axis 1.2 and VB .NET as both
clients and servers, and interop has worked like a dream so far. The editor
I use for WSDL is Cape Clear's free SOA editor -
http://www.capescience.com/soa/index.shtml.

PS one more advantage of WSDL-first is that you learn *much* more...


> -Original Message-
> From: Dr Janusz Martyniak [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 07, 2005 18:20
> To: axis-user@ws.apache.org
> Subject: RE: soapenc:string rather then xsd:string ?
> 
> 
> On Fri, 7 Oct 2005, Grossberger, Guenter wrote:
> 
> > Hi!
> >
> > Although Sunil is right about starting from a WSDL you can 
> still use Java2WSDL but you have to select "document" style 
> and "literal" use or even better "wrapped" style instead of 
> rpc/encoding.
> >
> > Best regards,
> >
> 
>   Thanks Guenter,
> 
> I discovered these ( -y and -u) options  and I'm fighting 
> with an axis 
> client at the moment.
>cheers JM
> -- 
> **
> *
> *  Janusz Martyniak TEL  +44  (0)207 594 
> 7810 *
> *  HEP Group, Physics Dept. FAX: +44  (0)207 823 
> 8830 *
> *  Blackett Lab, Imperial College, Prince Consort Rd, LONDON 
> SW7 2BW  *
> **
> *
> 


RE: soapenc:string rather then xsd:string ?

2005-10-07 Thread Sunil D'Monte
Is it possible for you to skip Java2WSDL altogether? The recommended
approach for interoperability is to hand-code the WSDL (there are editors to
help you do this). You could then run the WS-I testing tool to check whether
your WSDL really is interoperable. If you do this, then nobody should have
any problems using your WSDL...

Regards,
Sunil

PS I believe WS-I forbids "soapenc:" type of encoding... everything must be
defined using XML schema datatypes only.

> -Original Message-
> From: Dr Janusz Martyniak [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 07, 2005 15:46
> To: axis-user@ws.apache.org
> Subject: soapenc:string rather then xsd:string ?
> 
> 
> 
>   Hi all,
> 
> In my Java2WSDL generated wsdl (axis 1.2) axis uses 
> soapenc:string as a 
> type. Older version of axis seemed to use xsd:string. Can I 
> revert this 
> behaviour in the generation step? My colleague has problems 
> using my wsdl 
> in his workflow engine.
>any help will be greatly appreciated
> cheers JM
> -- 
> **
> *
> *  Janusz Martyniak TEL  +44  (0)207 594 
> 7810 *
> *  HEP Group, Physics Dept. FAX: +44  (0)207 823 
> 8830 *
> *  Blackett Lab, Imperial College, Prince Consort Rd, LONDON 
> SW7 2BW  *
> **
> *
>