Apache Soap and Sessions?
Hey there,
how can I use Sessions (Session ID in HTTP-Headers or Cookies) in Apache Soap? Have you an example?
Thanks
TW
Please read
http://www.ics.uci.edu/~fielding/talks/webarch_9805/
Although you can't quite always achieve that sort of composability and resilience easily with SOAP, you can learn a little from the principles.
The basic idea of SOAP is that provides a common envelope for some information being exchanged, allowing some degree of delegation and service composition.
For SOAP to work in the intended manner, all the information to achieve any effect is placed inside the message envelope. This allows the SOAP message to be transport agnostic- for example part of the message chain may be http; another may be a direct call between SAX filters.
Putting additional stateful behaviour into one component of such a system, in a manner that is opaque to all the other components, is a really bad idea-you have to add the additional behaviour to all points in between, and lose any benifit you would get from SOAP.
Pete
Similar Messages
-
Hi I wanted to know which websites have Apache SOAP webservices which we can write a client for in java and implement
First, it shouldn't matter whether they're running apache or not - that's the point of web services. Second, IBM and Microsoft have UDDI sites that list various web services. One public one I know of is google's. Is this for school?
-
Authentication and EJB Providers in Apache SOAP 2.0
Has anyone tried to modify the latest Apache SOAP code to pass the rpcrouter
servlet Basic Authentication information (from HTTPSession) on to the JNDI
initial context in the Stateless Session EJB Provider code (i.e. impersonate
the authenticated http user for EJB calls)? I am thinking about allowing
SOAP users to inherit the EJB deployment descriptor access control setup.
Dan MeanyWith the link attached.
Hi Denes, This is a configuration for configuring mod_auth_sspi on Apache 2.2 (and proxy to the EPG) I haven't tried 2.0 but I'm pretty sure it should work in the same way.
Re: NTLM Authentication
Rob.. -
SOAP and Apache compartibility probs
Hello,
i want to deploy a soap web service and i 've read
the www.soapuser.com tutorial but unfortunately it
seems that there is a major problem somewhere
that i can not discover.
Can u tell me a stable version for deploying soap web services in an apache server?
also what packages i need. if you give me some tutorial page it would also be very helpful!!
ThnxHi Thierry,
When we wrote the web services layer for BEA we purposefully left out
stateful session beans and entity beans because they did not match the
"services" model and there is no standard way to keep the state between
calls to the service. I believe the Apache implementation uses the HTTP
session for this behaviour. I don't know what the problem is with the
Apache SOAP implementation but I can try and help you either 1) use a
stateless session bean to call your sfsb, or 2) convince me that stateful
beans implemented outside the web services standard is something BEA should
support.
Sam
"Thierry Janaudy" <[email protected]> wrote in message
news:[email protected]..
Hello,
I wanted to use BEA's implementation of SOAP, but the problem is that you
cannot call SFSB.
Therefore I tried to install and run Apache SOAP (Which provides a service
for SLSB, SFSB, EB).
However, you I try to remotely list the services through:
java -cp %CP% org.apache.soap.server.ServiceManagerClient
http://localhost:7001/soap/servlet/rpcrouter list
I always get
Exception in thread "main" java.lang.NoSuchMethodError
at org.apache.soap.util.xml.QName.<init>(QName.java:80)
at org.apache.soap.util.xml.QName.matches(QName.java:146)
at org.apache.soap.Envelope.unmarshall(Envelope.java:237)
at org.apache.soap.rpc.Call.invoke(Call.java:230)
at
org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClien
t.java:129)
at
org.apache.soap.server.ServiceManagerClient.list(ServiceManagerClient.java:1
51)
at
org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:2
37)
Do you have any idea why?
Thx -
Apache SOAP 2.2 and WL 6.1
When trying to use Apache SOAP 2.2 with WL Server 6.1, I get the following error
when attempting a call.invoke():
"Unable to resolve namespace 'SOAPSDK3'"
I can successfully make the SOAP call using a stand-alone application (not inside
weblogic). I found the following FAQ which described the same problem for WL
Server 6.1 (beta):
http://xml.apache.org/soap/faq/faq-for-WL6.1beta.html
I have not been able to get a working solution though. The XML Registry was already
setup as described, using the org.apache.xerces.*. I also put xerces.jar in front
of weblogic.jar in the WL Classpath (not sure if this would have any effect).
Originally, I had put XERCES 1.3.1 there and had no problem starting WL, but
got the same error as before - Unable to resolve namespace 'SOAPSDK3'. When I
placed another version of XERCES, namely 1.4.3 - I could not even start WL properly,
it crapped out with a memory exception and quit the JVM. I read on WL docs that
XERCES 1.3.1 is required and you cannot put another version in front of the weblogic.jar,
otherwise you have problems (they were right on that one). Here are the WL docs:
http://e-docs.bea.com/wls/docs61/faq/xml.html
So, I'd be interested to see if you anyone has suggestion as to what I might try.
It appears that I MUST use XERCES 1.3.1, but when I put the in front of weblogic.jar
I don't solve the problem. If you know of anything I might try, please let me
know. Thanks.
Configuration:
WL 6.1 on Windows 2000 - application inside EAR file.
SOAP Client - Apache SOAP 2.2
SOAP Server - MS SOAP Toolkit (ISAPI - VB dll)
Christopher Hurley
Tallán, Inc.
[email protected]
cell 201.739.2194Don't know whether below is related to your problem:
https://discussions.apple.com/thread/4831752?tstart=0 -
Interoperability between apache soap toolkit(client)and ms soap toolkit
Interoperability between apache soap toolkit(client)and ms soap toolkit.Give me an example where i can send and receive a complex data type from apache tomcat in client side to ms soap toolkit on the server side.It is urgent.Plz try to give me a solution as soon as possible.
The toolkits don't have to work together at all. And by the way, you aren't sending the data to the MS toolkit, you're sending it to some MS product that can process the data. Any data that follows the standards should work.
-
Apache SOAP with websphere 6.1
I want to use Apache SOAP in websphere 6.1 since we will be reusing the framework developed already using Apache SOAP.This has been implemented only with weblogic previously.
Now we are trying to use this in combination with websphere 6.1,Is this supported?How to proceed?Hi Thierry,
When we wrote the web services layer for BEA we purposefully left out
stateful session beans and entity beans because they did not match the
"services" model and there is no standard way to keep the state between
calls to the service. I believe the Apache implementation uses the HTTP
session for this behaviour. I don't know what the problem is with the
Apache SOAP implementation but I can try and help you either 1) use a
stateless session bean to call your sfsb, or 2) convince me that stateful
beans implemented outside the web services standard is something BEA should
support.
Sam
"Thierry Janaudy" <[email protected]> wrote in message
news:[email protected]..
Hello,
I wanted to use BEA's implementation of SOAP, but the problem is that you
cannot call SFSB.
Therefore I tried to install and run Apache SOAP (Which provides a service
for SLSB, SFSB, EB).
However, you I try to remotely list the services through:
java -cp %CP% org.apache.soap.server.ServiceManagerClient
http://localhost:7001/soap/servlet/rpcrouter list
I always get
Exception in thread "main" java.lang.NoSuchMethodError
at org.apache.soap.util.xml.QName.<init>(QName.java:80)
at org.apache.soap.util.xml.QName.matches(QName.java:146)
at org.apache.soap.Envelope.unmarshall(Envelope.java:237)
at org.apache.soap.rpc.Call.invoke(Call.java:230)
at
org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClien
t.java:129)
at
org.apache.soap.server.ServiceManagerClient.list(ServiceManagerClient.java:1
51)
at
org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:2
37)
Do you have any idea why?
Thx -
Apache SOAP 2.2 - Weblogic 6.1SP2
Hi,
Has anyone managed to get Apache SOAP working with Weblogic 6x?
I can get everything up and running, but for some reason the classloader
for the web application (ie; the actual Apache SOAP app) doesn't load the
classes in my jar file containing the EJB files, serializers, etc.
Therefore whenever I make a SOAP request I get a server side error reported
via SOAP that some class or another (one of my own ones) cannot be found.
I can cure this by sticking my jar file in the server's classpath - however
this isn't great as it means the JVM's classloader is picking everything up
and I lose the ability to redeploy.
Any ideas? In the absence of any other information it would seem that
Weblogic's classloaders are buggy...
Cheers,
TrevHi Trev,
Let's recap here:
1. You are deploying the .war file for Apache SOAP, into WLS 6.1 SP2, right? If
yes, you copied the .war file into the $WL_HOME/config/examples/applications directory,
or something similar, right?
2. It (some class or classes in soap.war) couldn't find the classes for your EJB
so, you "unwarred" it, created a WEB-INF/lib directory, and copied the .jar for
your EJB into that directory. Then you re-jarred the soap.war, right? If so, did
you put a <ejb-ref> element in the web.xml (for soap.war), so it (the SOAP webapp)
would know about the ejb?
The <ejb-ref> should look something like this:
<ejb-ref>
<description></description>
<ejb-ref-name>examples.webservices.security.PhoneBookService</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>examples.webservices.security.PhoneBookServiceHome</home>
<remote>examples.webservices.security.PhoneBookService</remote>
</ejb-ref>
You'd also need to create a WEB-INF/weblogic.xml file and put something like this
in it:
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>examples.webservices.security.PhoneBookService</ejb-ref-name>
<jndi-name>examples.webservices.security.PhoneBookService</jndi-name>
</ejb-reference-description>
</reference-descriptor>
But, I would do any of this because your EJB doesn't have "diddly squat" to do
with Apache SOAP ;-) The Apache SOAP web app is a "standalone" thing, right? You
want to use your EJB "with it", not be part "of it" right? Exactly! So, let's
abandon that route...
3. Next, you tried to turn the Apache SOAP Web Application (.war) into the Apache
SOAP Enterprise Application (.ear). I'm assuming that you created a META-INF/application.xml
that looked something like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application
1.2//EN' 'http://java.sun.com/j2ee/dtds/application_1_2.dtd'>
<application>
<display-name>Apache SOAP 2.2</display-name>
<module>
<web>
<web-uri>soap.war</web-uri>
<context-root>/soap</context-root>
</web>
</module>
<module>
<ejb>{name of the .jar for your ejb}</ejb>
</module>
</application>
But, you didn't create the <ejb-ref> stuff in #2 above. Again, I don't think it
makes a lot of sense to put "your EJB" in the "Apache SOAP" Enterprise application
What's going on here (the Apache SOAP code not being able to find your EJB classes)
is "expected behavior" as far as the BEA docs go. Everyone I know (including me!)
that deploys the Apache SOAP web app in WebLogic, creates a .jar that contains
a copy of all the remote (and home) interface classes that the rpcrouter servlet
will call, and puts this in the -classpath used to start WebLogic. That way, it
(the Apache SOAP web app) will be able to find them. I don't put the jar for the
EJB in the -classpath, though. To be honest, I don't use Apache SOAP because it
doesn't support WSDL yet ;-)
Regards,
Mike Wooten
"ts" <[email protected]> wrote:
Hi Mike,
Cheers for the response. I've read the documentation you've linked to
and I
understand how WLS performs class loading.
However, the documentation implies that I could either;
A) Package the SOAP war file together with my EJB jar file in an EAR
file
and deploy, and the SOAP web app would subsequently be able to reference
classes/beans. (Ref: "Although you could deploy the .war and .jar files
separately, deploying them together in an .ear file produces a classloader
arrangement that allows the servlets and JSPs to find the EJB classes.")
B) Simply place my EJB jar file in the WEB-INF\lib subdirectory of the
deployed SOAP web app. (Ref: J2EE specification).
In fact, neither of these work, and I am forced to include the EJB jar
in
the server's classpath.
Surely theres some kind of problem here?
Cheers,
Trev
"Michael Wooten" <[email protected]> wrote in message
news:[email protected]...
Hi Trev,
Technically, this is not so much an issue with the classloader(s) inWLS,
as it
is with J2EE packaging. WLS uses a pretty sophisticated, hierarchicalclass loading
architecture. The main reason for using this approach, was to supportundeploying/redeploying
J2EE components (i.e. Servlets, EJBs) without shutting down the JVM.
What you are encountering is a phenomena where Apache SOAP is deployedas
a Web
Application, with it's own ServletContext and classloader.
See the following links for specifics on class loading and J2EE packagingin WLS:
http://e-docs.bea.com/wls/docs60/programming/packaging.html#1048725
After reading this, you will see why the classloader associated withthe
Apache
SOAP web app, cannot see the classes (i.e. serializer, EJBs, etc.)you are
using
to implement your web service.
Regards,
Mike Wooten
"ts" <[email protected]> wrote:
Hi,
Has anyone managed to get Apache SOAP working with Weblogic 6x?
I can get everything up and running, but for some reason the classloader
for the web application (ie; the actual Apache SOAP app) doesn't load
the
classes in my jar file containing the EJB files, serializers, etc.
Therefore whenever I make a SOAP request I get a server side error
reported
via SOAP that some class or another (one of my own ones) cannot befound.
I can cure this by sticking my jar file in the server's classpath-
however
this isn't great as it means the JVM's classloader is picking everything
up
and I lose the ability to redeploy.
Any ideas? In the absence of any other information it would seem that
Weblogic's classloaders are buggy...
Cheers,
Trev -
Invocation of SOAP Sender Adapter using Apache SOAP
Hi,
I'm trying to invoke the XI SOAP Sender Adapter using the Apache SOAP API. It seems that my message header is missing a few parameters (see exception below). Does anybody know which to set?
Regards,
Heiko
==========
Exception:
<?xml version='1.0'?>
<!-- see the documentation -->
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s='http://sap.com/xi/WebService/xi2.0'>
<context>XIAdapter</context>
<code>Exception</code>
<text><![CDATA[
com.sap.aii.af.mp.module.ModuleException
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:502)
at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process(ModuleLocalLocalObjectImpl3.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:227)
at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)
at com.sap.aii.af.mp.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:162)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:392)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:321)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Caused by: java.lang.Exception: Bubble configuration error: parameter 'XI.InterfaceNamespace' is missing
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.getParaRequired(XISOAPAdapterBean.java:895)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.createDefaultMessageHeader(XISOAPAdapterBean.java:942)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.setup(XISOAPAdapterBean.java:214)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:496)
... 22 more
]]></text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>Hi Heiko,
You are missing the Namespace Parameter in the sender soap adapter configuration in XI3.0
Thanks
Prasad -
Linkage Error when using Apache SOAP 2.2 with Weblogic 6.1
Has anyone seen this error before? Apparently I've got some incompatible versions of xerces being loaded. I tried putting different versions of xerces.jar in the front of my classpath, and creating an XML Registry to point to org.apache.xerces.jaxp..., but I always get the same error message.
D:\soap>java -classpath "/soap-2_2/lib/soap.jar;activation.jar;mail.jar;xerces.jar;." org.apache.soap.server.Servic
eManagerClient http://localhost:8001/App/servlet/rpcrouter list
Ouch, the call failed:
Fault Code = SOAP-ENV:Server.Exception:
Fault String = loader constraints violated when linking org/xml/sax/InputSource classHas anyone seen this error before? Apparently I've got some incompatible versions of xerces being loaded. I tried putting different versions of xerces.jar in the front of my classpath, and creating an XML Registry to point to org.apache.xerces.jaxp..., but I always get the same error message.
D:\soap>java -classpath "/soap-2_2/lib/soap.jar;activation.jar;mail.jar;xerces.jar;." org.apache.soap.server.Servic
eManagerClient http://localhost:8001/App/servlet/rpcrouter list
Ouch, the call failed:
Fault Code = SOAP-ENV:Server.Exception:
Fault String = loader constraints violated when linking org/xml/sax/InputSource class -
Package org.apache.soap does not exist
Hi,
I'm trying to deploy a webservice made out of stateless session bean.
When i run the service by invoking its method through browser then I get an exception as
Servlet error: Cannot generate Class:
package org.apache.soap does not exist
import org.apache.soap.Header;
-- It seems that the oc4j is not loading soap.jar under soap/lib
But when I add soap.jar to WEB-INF/lib then I get an exception as
java.lang.LinkageError: Class org/apache/soap/rpc/SOAPContext violates loader constraints
Which means soap.jar is loaded previosuly
The required classes are present in soap.jar
Can you please help me on this
Regards
~AnilYippee... problem solved... classpath setting problem
-
Apache + 2 Tomcats session replication problem.
Greetings everyone.
Before stating the problem, let me explain how my environment is set.
I have two machines. One (PC1) running Apache (HTTP server 2.0.58)
and one instance of Tomcat (5.0.28) and another machine (PC2) with
another instance of Tomcat(5.0.28).
The Apache server
It is configured to handle static content, to redirect dynamic content to a
Tomcat instance through AJP 1.3 connector.
This process is done through the mod_jk and the workers.properties
The workers.properties file is configured to have sticky_session = True
so it assigns a SESSION_ID to the same Tomcat it was first assigned.
The workers.properties file is configured to have
sticky_session_force = True so if the Tomcat the SESSION_ID was
assigned is not available, the server answers with a 500 error.
The Tomcat servers
Both have only the AJP 1.3 connector enabled
Both have the Cluster tag from the server.xml file uncommented
and the useDirtyFlag flag set to false, for not to allow SESSION
replication between Tomcats.
The workers.properties file
workers.apache_log=C:/Apache2/logs
workers.tomcat_home=C:/Tomcat5
workers.java_home=C:/j2sdk1.4.2_13
ps=/
#Defining workers -----------------------------
worker.list=balancer,jkstatus
#Defining balancer ---------------------------
worker.balancer.type=lb
worker.balancer.balance_workers=tel1, tel2
worker.balancer.sticky_session=True
worker.balancer.sticky_session_force=True
worker.balancer.method=B
worker.balancer.lock=O
#Defining status -----------------------------
worker.jkstatus.type=status
worker.jkstatus.css=/jk_status/StatusCSS.css
#Workers properties ---------------------------
worker.tel1.type=ajp13
worker.tel1.port=8009
worker.tel1.host=127.0.0.1
worker.tel1.lbfactor=1
worker.tel1.socket_keepalive=False
worker.tel1.socket_timeout=30
worker.tel1.retries=20
worker.tel1.connection_pool_timeout = 20
#worker.tel1.redirect=tel2
worker.tel1.disabled=False
worker.tel2.type=ajp13
worker.tel2.port=8009
worker.tel2.host=199.147.52.181
worker.tel2.lbfactor=1
worker.tel2.socket_keepalive=False
worker.tel2.socket_timeout=30
worker.tel2.retries=20
worker.tel2.connection_pool_timeout = 20
#worker.tel2.redirect=tel1
worker.tel2.disabled=False
THE PROBLEM
I open a browser in the jk-status page to see how the Tomcat instances are
working, and both are working fine: Stat -> OK, now as the
loadbalancing factor is 1 on both Tomcats, an even alternating session
distribution is set.
While this browser is open to keep an eye on the status, I open a new
browser (B1)to connect to my Web Application, Apache answers
correctly and gives me a SESSION_ID for Tomcat instance 1 [both
instances are OK], if I make a simple refresh, my SESSION_ID is still the
same so I'm assigned to Tomcat instance 1 but this time I get an
ERROR 503 - Service unavailable but looking at the status of the
Tomcat instances both instances are still OK, no-one is down. And it
stays throwing this error for as many refreshes i do.
Now, I open a new browser (B2)and do the same process as before,
as expected, Apache now gives me a SESSION_ID for Tomcat instance 2,
repeating the same refreshing process, the error is thrown again, but still at
the jk-status page, both instances are fine.
Without closing these windows, I make a new refresh try on B1 and
even though the jk-status says both Tomcat instances are OK, the error
is still thrown. I open a third one (B3), and Apache again, correctly
gives me a new SESSION_ID for Tomcat instance 1 and answers
correctly on the first call. But once again if i repeat the refreshing process, the
error is thrown again.
Note: Using a different resolution to always keep and eye on the
instances status and using a refresh rate of 1 second for status, both
servers always were OK.
So the main problem is that somehow when the session is replicated
to the same tomcat, Apache confuses and thinks it is not available, when
asking it through the jk-status it tells it is OK
I've been trying different configurations with both Apache and Tomcat,
but there must be something missing since I don't get it to work correctly
Thanks in advance for all your helping comments.
- @alphazygmaWhew... that was quite an answer... definitely is going to help him a lot. Yeah any n00b by now should know how to use google, but that's not the point in this forums, here we are to help each other. and wether you like it or not many of us deploy applications to tomcat and stumble on this. So dont try to be cool posting this kind of answers like google this or google that if you dont have an answer please dont comment you will appear to be more noobish than you aparently are.
Well enough talking.
I found the following useful: (it comes in the server.xml of the tomcat configuration)
<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
-->
Enabling that entry on both machines should be enough.
Aparently the problem is not with apache. is with tomcat since it can't retain the session apache gives.
more information in the Tomcat help at:
http://tomcat.apache.org/tomcat-5.0-doc/balancer-howto.html#Using%20Apache%202%20with%20mod_proxy%20and%20mod_rewrite -
Serious resource utlization problem using SOAP and 8.0.2
Hi,
I'm running into a fairly serious issues whilst trying to download large attachments from a Groupwise 8.0.2 server using SOAP.
Basically, the problem is as follows: at a client site, there's an inbox with an email that has an attached avi file of about 330mb. Our SOAP client tries to retrieve this file in chunks of 1mb in size (if you try to set the size of the chunks any larger, Groupwise will give you a 59922 error, as 1mb is apparently some sort of hard coded limit). So that attachment corresponds to roughly 330 AttachmentRequestMessage's and their responses, each with a 1mb payload.
When we run our client, the cpu utilization of the Groupwise server takes about a dozen seconds to climb to 100%, every single time we try. Since 100% cpu utilization renders all GW clients more or less inoperable (or at least extremely slow) this is a non-starter.
We changed our client to wait 2 secs. in between requesting each chunk of the attachment. This seemed to help initially, but by the time we had transferred 100mb of the file, cpu utilization climbed to 95% and stayed there until the file transfer was completed.
This is a little disconcerting. We're requesting a megabyte of data from an attachment every 2 seconds, and Groupwise seems to have all sorts of problems in trying to service these requests. As you can imagine, client performance isn't that great at 95% server utilization either. I suppose we could increase the pause to something like 5 seconds, but it seems ridiculous that such simple requests are generating this amount of load.
So my question is 2-fold:
1. can I increase the maximum size of an attachment part chunk? 1mb is not very much at all, seeing as our server is on the same gigabit lan segment as the GW server
2. why does cpu utilization shoot up to 95% while servicing what seem to be fairly simple requests, and how do I avoid this by some means other than increasing my pause time?
Thanks in advance,
Maarten
PS I spent some time looking for the 59922 error code in the docs, but turned up nothingThe 59922 error is just a warning.
You should use the HTTP GET construct to get large
attachments. It is orders of magnitude faster than
using getAttachmentRequest.
>>> On Friday, August 20, 2010 at 11:06 AM,
mdirkse<[email protected]> wrote:
> Hmm, could you perhaps point me to where in the docs?
>
> Because as far as I know you have to download an attachment using a
> getAttachmentRequest ('Novell Doc: NDK: GroupWise Web Services ‑
> getAttachmentRequest'
>
(http://developer.novell.com/document...a/b7m3i5b.html
> )),
> which takes a length parameter, and if you set that to > 1mb, Groupwise
> returns a 59922 error which, I'm pretty sure, *isn't* in the docs.
>
> Ray;2013273 Wrote:
>> You can download the complete attachment
>> in 1 go over HTTP using a SOAP login session.
>>
>> It's all in the docs...
>>
>> Am 19.08.2010 16:06, schrieb mdirkse:
>> >
>> > Hi,
>> > I'm running into a fairly serious issues whilst trying to download
>> > large attachments from a Groupwise 8.0.2 server using SOAP.
>> >
>> > Basically, the problem is as follows: at a client site, there's an
>> > inbox with an email that has an attached avi file of about 330mb.
>> Our
>> > SOAP client tries to retrieve this file in chunks of 1mb in size (if
>> you
>> > try to set the size of the chunks any larger, Groupwise will give you
>> a
>> > 59922 error, as 1mb is apparently some sort of hard coded limit). So
>> > that attachment corresponds to roughly 330
>> AttachmentRequestMessage's
>> > and their responses, each with a 1mb payload.
>> >
>> > When we run our client, the cpu utilization of the Groupwise server
>> > takes about a dozen seconds to climb to 100%, every single time we
>> try.
>> > Since 100% cpu utilization renders all GW clients more or less
>> > inoperable (or at least extremely slow) this is a non‑starter.
>> >
>> > We changed our client to wait 2 secs. in between requesting each
>> chunk
>> > of the attachment. This seemed to help initially, but by the time we
>> had
>> > transferred 100mb of the file, cpu utilization climbed to 95% and
>> stayed
>> > there until the file transfer was completed.
>> >
>> > This is a little disconcerting. We're requesting a megabyte of data
>> > from an attachment every 2 seconds, and Groupwise seems to have all
>> > sorts of problems in trying to service these requests. As you can
>> > imagine, client performance isn't that great at 95% server
>> utilization
>> > either. I suppose we could increase the pause to something like 5
>> > seconds, but it seems ridiculous that such simple requests are
>> > generating this amount of load.
>> >
>> > So my question is 2‑fold:
>> > 1. can I increase the maximum size of an attachment part chunk? 1mb
>> is
>> > not very much at all, seeing as our server is on the same gigabit
>> lan
>> > segment as the GW server
>> > 2. why does cpu utilization shoot up to 95% while servicing what
>> seem
>> > to be fairly simple requests, and how do I avoid this by some means
>> > other than increasing my pause time?
>> >
>> > Thanks in advance,
>> > Maarten
>> >
>> > PS I spent some time looking for the 59922 error code in the docs,
>> but
>> > turned up nothing
>> >
>> > -
We have deployed several SOAP services (Apache SOAP) on a WLS6.1
server. Since there are more and more services are being deployed
people are getting worried about security. I was wondering what the
best solution was to to authentication and authorization on EJB and
method level for SOAP clients ? I was thinking about the following
solution: use the standard J2EE security by defining security
constrainst in the ejb-jar.xml file. Therefor every client needs to
provide credentials to use the EJB's (this should work for both
RMI/IIOP and SOAP clients).
What are your ideas and opinions about this solution ?
If you post a reply please CC to [email protected]Hi,
Let me know if you find answer of your question.
thanks -
"invalid request" when calling Apache Soap 2.2 webservice using 8.1.1
I have tried setting soap-style to RPC as advised in the documentation but keep
getting this same error. Server is Apache Soap 2.2. Another test client using
Apache Soap 2.3.1 got the same error. I am trying to call a webservice in a WLI
process flow. I have generated the web service control from the wsdl. Error follows:
<01-Oct-2003 11:04:04 o'clock EST> <Warning> <WLW> <000000> <Id=bank_so_11; Meth
od=processes.bank_so_1.GetNextAccountNumber(); Failure=com.bea.control.ServiceCo
ntrolException: SOAP-ENV:Clientinvalid request>
<01-Oct-2003 11:04:04 o'clock EST> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.TestWSBank_wf.$__clientRequest(); Failure=com.bea.wli.bpm.runtime.Un
handledProcessException: Unhandled process exception [ServiceException]>
<01-Oct-2003 11:04:04 o'clock EST> <Error> <WLW> <000000> <Failure=com.bea.wli.b
pm.runtime.UnhandledProcessException: Unhandled process exception [ServiceExcept
ion]>Hi Jerry,
There is not much to go on here to help solve your problem. Can you
successfully invoke the external service from Workshop's Test View? If
this works OK you might ask your question to the integration newsgroup
and see if they have some insight:
http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.integration
Hope this helps,
Bruce
Jerry Shea wrote:
>
I have tried setting soap-style to RPC as advised in the documentation but keep
getting this same error. Server is Apache Soap 2.2. Another test client using
Apache Soap 2.3.1 got the same error. I am trying to call a webservice in a WLI
process flow. I have generated the web service control from the wsdl. Error follows:
<01-Oct-2003 11:04:04 o'clock EST> <Warning> <WLW> <000000> <Id=bank_so_11; Meth
od=processes.bank_so_1.GetNextAccountNumber(); Failure=com.bea.control.ServiceCo
ntrolException: SOAP-ENV:Clientinvalid request>
<01-Oct-2003 11:04:04 o'clock EST> <Warning> <WLW> <000000> <Id=top-level; Metho
d=processes.TestWSBank_wf.$__clientRequest(); Failure=com.bea.wli.bpm.runtime.Un
handledProcessException: Unhandled process exception [ServiceException]>
<01-Oct-2003 11:04:04 o'clock EST> <Error> <WLW> <000000> <Failure=com.bea.wli.b
pm.runtime.UnhandledProcessException: Unhandled process exception [ServiceExcept
ion]>
Maybe you are looking for
-
Whats the best way to check the speed of my macbook Pro
Hi people. I just wanted to get some advice on how my Mac is running, as i think it has become slower since i bought it and wondered if it is anything i have done or should be doing First of all, i have a MBP bought mid 2011, has thunderbolt port, it
-
What are the Oracle E-BIZ Vision Demo Database AMIs
Found a link to this community from the Amazon AWS site, so I am hoping that this is the correct place and that someone responsible for the Oracle E-Biz AMIs will read this. I posted the following question on the Amazon AWS forums... <QUOTE> Someone
-
HI, can you explain me "how to use the xsl if function" ? My source is an ORDRSP Idoc and i want to use the following. IF E1EDP20 is existing then .... and IF E1EDP20/WMENG = 0 then ... anyway... is there an option to test the xslt mapping with XML s
-
BT Softphone and D-Link 2740B router problem
Has anyone managed to work out how to set up a D-Link 2740B router so that BT Softphone will work? The best help I can get from BT INDIA is change the baud to 5060, what ever that means? I am not a techie, so any help in a simple step by step fashion
-
Import Cd's in m4a format?
Does anyone know how to import CD's in m4a format, I know I can play them but I don't know how to make them. I share alot of music between my Linux box and Mac box and I like the format better than mp3. Thanks in advance guys and girls