Re: SOAP/JMS Implementation on 5.1 (IBM MQ) questions.
Hi Vincent 1. I've read some posts stating that the implementation has been pulled from axis2, and now exists in the ws-commons subproject. I've looked in the XmlSchema, AXIOM, ws-commons-java5 and Neethi, but can't seem to find the implementation. Am I looking in the right place, if not, please let me know where I can find the jar. I'm assuming once it's found, it's a simple matter of including it in the lib directory of axis 2. https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport 2. I've noticed some people have had luck with MQ. If there are any tutorials regarding the procedures I would be grateful. (Most of the stuff I've seen is based on older versions and seem to be reliant on features on 4.1 or older of axis2. If they're still relevant, that's fine, but I don't want to assume. The transport is against the JMS API, so as long as your MQ version works well in JMS 1.0/1.1, things should be fine cheers asankha -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
Re: Need Info on Axis2 SOAP/JMS support
Deepal jayasinghe wrote: Hope someone can give you a better answer. - Deepal Deepal, I understand you had done quite a lot of development and research on AXIS2. I had been searching for implementation of SOAP/JMS for Axis without luck. So I thought of posting question to you with respect to your experience with AXIS's capability to support SOAP/JMS 1) How well it is supported within AXIS2 currently 2) If My services are deployed on TIBCO Business works and I need my client to communicate to these services through SOAP/JMS how easy or difficult it is using AXIS2. 3) Will this be handlers be available out of box or I need to develop custom code. Sachin, 1) Axis2 supports SOAP/JMS pretty well - and I suggest you do some testing / POC to make sure all your scenarios are working well 2) I am not familiar with TIBCO Business Works, but this should be pretty straight forward 3) You do not need to develop any custom code, its already available PS: See some of the articles at http://adroitlogic.org/knowledge-base-axis2.html cheers asankha -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
Re: Error communicating between two websevice
Hi Salman I am working on a web service which acts as a client as well as server. I am trying to deploy two instances of this web service on separate servers and try and setup a communication link between them. [ERROR] Received an internal server error : Internal Server Error Exception in thread HttpCoreNIOSender java.lang.NullPointerException at org.apache.axis2.transport.nhttp.ClientHandler.inputReady(ClientHandler.java:236) To Configure Axis2 I have made following changes to Axis2.xml: transportReceiver name=http class=org.apache.axis2.transport.nhttp.HttpCoreNIOListener parameter name=port locked=false9000/parameter parameter name=non-blocking locked=falsetrue/parameter /transportReceiver The org.apache.axis2.transport.nhttp transports are no longer bundled with vanilla Axis2. Unless you have any specific requirement, please switch over to the normal http transports, and possibly your problems would go away. cheers asankha -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
Re: Possible to pass SOAP messages directly rather than HTTP or JMS ??
Hi Pat I have created a web service from WSDL using Axis 1.2 and HTTP binding. I have a situation where I will have the SOAP messages available to me in flat files that I have to read and process. I would like to know if its possible to provide this SOAP message directly to the generated stub (or any other class.) ? The SOAP messages are already available with me and I would like to re-use the same generated classes to processes these SOAP messages. The impl would be a POJO. That is , I would like to skip the HTTP binding and provide the SOAP message directly. Is there a hook for not using the HTTP transport and provide the SOAP message directly ? ( maybe a JavaBinding just like HTTPbinding and JMSBinding ? ) Maybe this will also be helpful in testing to provide pre defined SOAP requests directly for consumption rather than via http or jms ? Not sure if this is the exact thing you are looking for.. but the Apache Synapse ESB is capable of picking up files from lots of different file systems (e.g. ftp, sftp, zip, local etc) and pumping them to various other endpoints (like SOAP/HTTP, JMS, FIX, Mail etc) See http://synapse.apache.org cheers asankha -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
Re: Please help newbie --- Axis2 webservice calling other webservice
Hi Anudeep I want to know how can i call a webservice from other webservice. I tried this way.I created 2 webservices (say A and B )with xmlbeans databinding.Both are working fine as tested with respective clients. Now i want to use methods of A from B. For this i copied A's client stub file and all other related files to B's service directory.And one of my methods of B service calls A's stub.Now i redployed B service. Please guide me regarding this topic by providing some links or steps to do this. Doesn't Proxy services of Apache Synapse ESB help you in your business problem? http://synapse.apache.org/Synapse_Samples.html#Sample150 http://synapse.apache.org/Synapse_Configuration_Language.html#proxy cheers asankha -- Asankha C. Perera AdroitLogic, http://adroitlogic.org http://esbmagic.blogspot.com
Re: Hold a socket connection to a legacy application
Hi Fabrício I'll look it, but I think need something more simple. I just want to my web service hold the socket connection with my application (i.e., don't closed the socket), so I won't need reestablish this connection. I guess all you need is how to manipulate a client socket in Java [1]. You could use the SO_TIMEOUT = 0 cheers asankha [1] http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Hold a socket connection to a legacy application
Hi Fabrício For historic purpose: I solved this problem using the sessions concept. How I did: 1) Implements the Lifecycle interface to POJO service's class 2) add service name=ServiceName scope=application /service to axis2.xml and services.xml files 3) Overrride the init() and destroy() methos. In init() you should put your open socket and others methods and in destroy() you must the socket close operation; Yes, this should work fine, since you are using the application scope for your service cheers asankha I guess all you need is how to manipulate a client socket in Java [1]. You could use the SO_TIMEOUT = 0 Will it maintain my socket connection opened after successives calls? Could I use *the same* socket to send another command to my legacy application? I'm asking it because I know by design web services are stateless, so I think that will be destroy all socket connections when it ends. I'm wrong? -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Hold a socket connection to a legacy application
Hi Fabrício I'm building a proxy web service that connects a legacy application (via sockets). This web service works fine, but I'd like to put this legacy connection persistent, i.e, connect to the legacy application and hold this connecting until I call a disconnect() method of my web service. So does anyone any idea how can I do that? I'm using Axis2-1.4.1. What is the connection to your legacy backend? is it plain TCP sockets or HTTP etc? The Apache Synapse ESB (http://synapse.apache.org) allows you to build proxy services for transport, message format switching and message transformation and a load of other features. You may want to consider building your proxy in alignment with Synapse cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: AXIS2-4050 Client Proxy Authentication Failed, Screwed up http headers
Hi Conal Our fix for this will be to set the HTTPConstants.CHUNKED property to false. This results in the Content-Length header getting used instead of the Transfer-Encoding one. As our messages are fairly small I don't think this will be an issue. Our system administrator will be following up with Microsoft to see what the issue is with the ISA server. Good to hear!.. Chunking should be supported if ISA supports HTTP 1.1.. and results in better performance, as the payload does not have to be fully buffered in memory to compute its length before starting to write it Thanks Andreas and Asankha for your help with this. You are welcome, and thanks for updating everyone else with the solution that worked for you, so that it adds to the knowledge base of problems and solutions cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: AXIS2-4050 Client Proxy Authentication Failed, Screwed up http headers
Hi Conal Check the Alerts tab under the monitoring section in ISA Server Management console. You should see the exact reason for the header being rejected. [1] - does this help? Also, what exactly is the full response you get as seen through wireshark? Could you post a new example? Also, you could check if the correct credentials went through by checking the decoded basic auth string. Try something that works too (any request through the proxy) and post it, so that its easier to figure out which header is the problem .. I suspect transfer encoding.. cheers asankha [1] http://www.experts-exchange.com/Other/Miscellaneous/Q_21903188.html?sfQueryTermInfo=1+connecto Below are the headers captured using wireshark. POST http://xx..com/xdatawebservice/query.asmx HTTP/1.1\r\n Request Method: POST Request URI: http://xxx.x.com/xxdatawebservice/xxquery.asmx Request Version: HTTP/1.1 Content-Type: application/soap+xml; charset=UTF-8; action=http://..com/xDataWebService/xQuery/Queryxxx xxx\r\n User-Agent: Axis2\r\n Proxy-Authorization: Basic bWF==\r\n Credentials: xxx:x Host: idstaging.moneymate.com\r\n Proxy-Connection: Keep-Alive\r\n Transfer-Encoding: chunked\r\n \r\n -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Hard To track down error -- WCF to Axis Implementation
Hi Joe ?xml version=1.0 encoding=utf-8?soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soapenv:Bodysoapenv:Faultfaultcodesoapenv:Server.generalException/faultcodefaultstringWSDoAllReceiver: security processing failed; nested exception is: org.apache.ws.security.WSSecurityException: General security error (Unsupported key identification)/faultstringdetailns1:hostname xmlns:ns1=http://xml.apache.org/axis/;dmaz178056818/ns1:hostname/detail/soapenv:Fault/soapenv:Body/soapenv:Envelope Do you have a case where a request is processed successfully? Also, does the server dump any information when you set the WSS4J log level to debug? cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Enable preemptive authorization in Axis-2.3
Raj I am using Axis2.3 to connect to a webservice host. I use adbbean client mapping, i have enable preemptive authorization in my client so that i can reduce total number SSL handshakes. Currently the cleint attempts to webservice and connection fails with 401 error and then the proxy authorization parameters are passed in header. Can anyone pls let me know how i can enable preemptive proxy authorization in my client code. Follow this thread: http://markmail.org/message/cwudbsfliz5a7q3n cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Problem
Hi Jeremy One of my clients has an interesting problem We have a messaging system (System A) that delivers messages to a simple web service deployed in axis. the web service attempts to relay the message to a second System (System B). If system B is up and running then all goes well and axis responds to system A with a success msg. if System B is down then an error is thrown and axis responds to System A with a failure error.The problem: If system A receives any response from axis at all it assumes the message was delivered and does not try to resend the message. What we would like to happen is if an error is thrown in the web service we would like to cut connection to System A so it times out and attempts to resend the msg later. Has anyone tried to do this kind of thing before? We do not have control over System A so we cannot change the code to check the response from axis to see if it is an success or failure. You could use the Apache Synapse ESB (http://synapse.apache.org) and create a proxy service that fronts your real web service. Create the proxy similar to this example [150]. In the outSequence, use an XPath or other filter to find out if the message is a successful reply and put the send/ within that filter. (See first few samples on how to do CBR) For the error case, if you don't pass it through the send/, the response will timeout to your system A since its dropped at the ESB cheers asankha [150] http://synapse.apache.org/Synapse_Samples.html#Sample150 -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Facing Problem with AXIS21.4
Hi Sudhir We are using Axis2 1.4 in our project. Its working well for us. During testing our testing team has reported two issues, which we didn't face in development and these are sometimes difficult to reproduce even. I can see the following text in soap faults. 1) Mime parts not found. Stream ended while searching for the boundary 2) com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected 'lt;'#xd; at [row,col {unknown-source}]: [2,1] Any pointer on these. Is there any way to debug axis to find the cause these problems. You need to share logs or stack traces when reporting these kinds of issues.. :-) cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Facing Problem with AXIS21.4
Hi Sudhir Error 1 :com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected 'lt;'#xd; at [row,col {unknown-source}]: [2,1] Request POST /wsabacus/services/wsabacus HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.1433) Content-Type: application/soap+xml; charset=utf-8; action=urn:getCalculationStatus Host: 10.253.101.130: http://10.253.101.130: Cookie: JSESSIONID=ABD43A765104D4ED3A0EFF61DAD68ED8 Content-Length: 1463 Expect: 100-continue MIMEBoundary633643641416156381 content-id: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] content-type: application/xop+xml; charset=utf-8; type=application/soap+xml; charset=utf-8 content-transfer-encoding: binary soap:Envelope xmlns:xop=http://www.w3.org/2004/08/xop/include; xmlns:soap=http://www.w3.org/2003/05/soap-envelope; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:wsa=http://schemas.xmlsoap.org/ws/2004/08/addressing; xmlns:wsse=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd; xmlns:wsu=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd;env:Header xmlns:env=http://www.w3.org/2003/05/soap-envelope;wsa:Actionurn:getCalculationStatus/wsa:Actionwsa:MessageIDurn:uuid:bf39e47c-c561-4e7c-b7db-bc47980381db/wsa:MessageIDwsa:ReplyTowsa:Addresshttp://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous/wsa:Address/wsa:ReplyTowsa:Tohttp://10.253.101.130:/wsabacus/services/wsabacus/wsa:Towsse:Securitywsu:Timestamp wsu:Id=Timestamp-565f869f-fdd6-40ef-a2fe-a716685f44b2wsu:Created2008-12-08T14:45:41Z/wsu:Createdwsu:Expires2008-12-08T14:50:41Z/wsu:Expires/wsu:Timestamp/wsse:Security/env:Headersoap:BodygetCalculationStatus xmlns=http://wsabacus/xsd;param0087ed846/param0/getCalculationStatus/soap:Body/soap:Envelope MIMEBoundary633643641416156381-- This request is invalid. See http://www.w3.org/TR/SOAP-attachments Section #5 - Http Binding for a sample. The backend is expecting the mime boundary in the content type. Since it doesn't find it, it thinks the request is XML and tries to parse, and hits the first - of the payload (i.e. MIME...part) and complains of this character soapenv:Reasonsoapenv:Text xml:lang=en-UScom.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected 'lt;'#xd; at [row,col {unknown-source}]: [2,1]/soapenv:Text/soapenv:Reasonsoapenv:Detail //soapenv:Fault Error 2: Mime parts not found. Stream ended while searching for the boundary MIMEBoundary633643641375692552-- POST /wsabacus/services/wsabacus HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.1433) Host: 10.253.101.130: http://10.253.101.130: Cookie: JSESSIONID=ABD43A765104D4ED3A0EFF61DAD68ED8 Content-Type: multipart/related; type=application/xop+xml; boundary=--MIMEBoundary633643641416156381; start=[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]; start-info=application/soap+xml; charset=utf-8 Content-Length: 1462 Expect: 100-continue MIMEBoundary633643641818451206 content-id: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] content-type: application/xop+xml; charset=utf-8; type=application/soap+xml; charset=utf-8 content-transfer-encoding: binary soap:Envelope xmlns:xop=http://www.w3.org/2004/08/xop/include; xmlns:soap=http://www.w3.org/2003/05/soap-envelope; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:wsa=http://schemas.xmlsoap.org/ws/2004/08/addressing; xmlns:wsse=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd; xmlns:wsu=http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd;env:Header xmlns:env=http://www.w3.org/2003/05/soap-envelope;wsa:Actionurn:deleteDataset/wsa:Actionwsa:MessageIDurn:uuid:25605344-dae6-4777-b493-77e650eae14f/wsa:MessageIDwsa:ReplyTowsa:Addresshttp://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous/wsa:Address/wsa:ReplyTowsa:Tohttp://10.253.101.130:/wsabacus/services/wsabacus/wsa:Towsse:Securitywsu:Timestamp wsu:Id=Timestamp-c155c096-4465-47f0-ad44-86054a9189fdwsu:Created2008-12-08T14:46:21Z/wsu:Createdwsu:Expires2008-12-08T14:51:21Z/wsu:Expires/wsu:Timestamp/wsse:Security/env:Headersoap:BodydeleteDataset xmlns=http://wsabacus/xsd;param0Q20_20081208_194107_CoBankv3/param0/deleteDataset/soap:Body/soap:Envelope MIMEBoundary633643641818451206-- The content type in this one states the boundary as --MIMEBoundary633643641416156381 but this is not found on the payload; which contains MIMEBoundary633643641818451206 cheers asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Enhancements to the JMS transport in WS-Commons / Transports
Hi All We have updated the new unified JMS transport code shared between Apache Axis2 and Apache Synapse. This code now lives in WS-Commons, transport module. The new enhancements allows JMS services to support both local JMS and distributed JTA transactions. In addition, we have also moved away from the use of asynchronous message receiving API into a polling model, which should allow the code to run within or outside of any JEE servers without conflicts. Please do test your scenarios with the updated transport, and report back any issues, before we cut the first release of this code sometime early next year. Some of the new parameters supported are described in the package documentation in the SVN [1], and also copied here for easy reference: http://adroitlogic.org/knowledge-base-axis2/9-the-enhanced-jms-transport.html A simple Axis2 sample illustrating a POJO service over JMS and the generation of a client for SOAP/JMS is detailed here: http://adroitlogic.org/knowledge-base-axis2/10-soap-over-jms-with-apache-axis2.html Synapse ESB examples will soon follow, and illustrate some of the advanced concepts. Your feedback is appreciated and most welcome. cheers asankha [1] http://svn.apache.org/viewvc/webservices/commons/trunk/modules/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/package.html?revision=724432content-type=text%2Fhtml -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JMS Transport in Axis2
Hi Shital Going back to my original question, In this latest release will you have functionality to specify Reply-To property on client side? Yes, a message context property JMS_REPLY_TO could set the reply destination, over which a client would wait for the response. I will inform the user list as soon as the new transport is officially checked in, so that everyone could test scenarios and give feedback, and we will address any issues if there are, promptly asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: JMS Transport in Axis2
Hi Joshi I am attempting to use the JMS transport in Axis2. We are using* Tibco* queues. I was able to do one way operation (_http://www.w3.org/TR/wsdl#_one-way_) over JMS. When I tried to do request-response operation, I get client already exists JMS Exception. SEVERE: Failed to create a connection. The JMSException message is as follows: clientId already exists [ERROR] Error preparing to send message to destination *javax.jms.InvalidClientIDException: clientId already exists* How does the* org.apache.axis2.transport.jms.JMSSender* work? Can I specify different queue in JMSSender configuration? I tried this but it didn't work: transportSender name=jms class=org.apache.axis2.transport.jms.JMSSender parameter name=default parameter name=java.naming.factory.initialcom.gs.ContextFactory/parameter parameter name=transport.jms.ConnectionFactoryJNDINameQueueFactory/parameter /parameter /transportSender We are currently improving the JMS transport to be much more powerful and flexible, including proper support for durable subscriptions, and the good news is that its almost ready.. Would you be interested to work with us to help ensure that your use case is properly handled, as well as to give us feedback that will help us make it better? The discussions have been happening around the Apache Synapse mailing list [1] for now, and you are welcome to join asankha [1] http://markmail.org/message/6ewkmrdzszi2yijy -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: JMS Transport in Axis2
Hi Shital I would be happy to work with your team. Do you have a date in mind for the release which has better JMS Transport? We are almost code complete.. but would need improved documentation and samples etc to supplement the new features. I would expect the code to be checked into svn by next week, and available with nightly builds. I do not know of any of the developers having access to a Tibco environment, and thus it would be great to get initial feedback from you. By the way, FYI the old transport code used by Axis2 (which was a fork from the code used by Apache Synapse sometime back) is now deprecated and removed from SVN, and the development of the common transports (such as JMS, Mail, etc ) takes place on WS-Commons sub-project.. asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: JMS Transport in Axis2
Hi Shital Do you mean that next release of Axis2 say (Axis2_1_5) will not have code base for JMS Transport Yes.. and we'll have include ws-commons library to support JMS Transport? This will be done for you, most probably automatically with the Axis2 release.. but the specifics are yet to be sorted out.. one could argue not to ship the JMS and other transports by default with the Axis2 builds considering the size of the artifacts.. but it would be made very simple for users who want to use these transports, to make use of them. With the new structure, all transport code for Axis2 now comes from ws-commons, so its almost hidden from end users. I was thinking of extending *org.apache.axis2.transport.jms.JMSSender* and see if I can implement request-response operation. Do you think I should wait till next week and use your nightly builds? Yes,.. as a user you should not be worried about this level of the framework code. But you are more than welcome to join the dev lists and contribute to help make things better. asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: [Rampart] trustAnchors parameter must be non-empty Exception - when invoking client
Sagara I have exposed a web service on SSL enabled Tomcat server , I generated client code with WSDL2JAVA , When i call the service i greeting above exception , my client code and error trace are listed below . later i tried with adding System.setProperty(javax.net.ssl.trustStoreType, JKS); but again end up with same exception , System.setProperty(javax.net.ssl.trustStore, repoPath + server.jks); System.setProperty(javax.net.ssl.trustStorePassword, password); Exception in thread main org.apache.axis2.AxisFault: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Make sure you point to a full real (non-relative) path for the cert store [http://forums.sun.com/thread.jspa?threadID=580496tstart=120] asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [AXIS2] Generated WSDL error for HTTPS transport
Sagara 1. Restrict transport protocols in axis2.xml file by using transporthttps/transport element. 2. Configure the transportReceiver for the certificate transportReceiver name=https class=org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener ... with these settings application deployed well but in WSDL endpoint address for HTTPS binding not generated correctly instead of server:port/contextroot it has null value . as a example ( *PayfoneService *is the service name ) wsdl:port name=PayfoneServiceHttpsSoap12Endpoint binding=ns:PayfoneServiceSoap12Binding * soap12:address location=nullPayfoneService.PayfoneServiceHttpsSoap12Endpoint/* /wsdl:port wsdl:port name=PayfoneServiceHttpsEndpoint binding=ns:PayfoneServiceHttpBinding * http:address location=nullPayfoneService.PayfoneServiceHttpsEndpoint/* /wsdl:port Is there any way to solve this problem ...? What you have achieved is not https using the JBoss container.. You should simply be able to deploy Axis2 on JBoss and use it over http/s like with Tomcat.. The org.apache.axis2.transport.nhttp transport is deprecated for Axis2, and is now only maintained as org.apache.synapse.transport.nhttp and if you really want to use it, I suggest that you try the latest version (1.2) from here [1].. which is compatible with Axis2 1.4.x [1] http://repo2.maven.org/maven2/org/apache/synapse/synapse-transports/1.2/synapse-transports-1.2.jar asankha -- Asankha C. Perera http://adroitlogic.org http://esbmagic.blogspot.com
Re: Axis2 + jms
Hi Shen Please switch to Axis2 1.4.1 where this issue is fixed - I just verified this. However, make sure that your AAR files do not have a WSDL for the services (e.g. the SimpleStockQuoteService from Synapse usually has this one!) asankha Shen, Chunxia wrote: Hi asankha, Good morning! I use Axis2 1.4 version. I use axis tool axis2server.bat to start the server. Below is the screenshot of my webservice. Seems the JMS url is not there. Attached files for your reference.
Re: Axis2 + jms
Hi Jinda He ConfigurationContext myConfigContext = ConfigurationContextFactory .createConfigurationContextFromFileSystem(C:\\tools\\axis\\axis2-1.3\ a \repository, axis2.xml); HelloWorldStub stub = new HelloWorldStub(myConfigContext); but still I got error : org.apache.axis2.transport.jms.AxisJMSException: Error creating temporary queue for response at org.apache.axis2.transport.jms.JMSSender.handleException(JMSSender.java:331) at org.apache.axis2.transport.jms.JMSSender.invoke(JMSSender.java:166) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) at webserviceSample.HelloWorldStub.sayHello(HelloWorldStub.java:141) at webserviceSample.TestClient.getHelloMessage(TestClient.java:44) at webserviceSample.TestClient.main(TestClient.java:23) What you are trying to do is a synchronous out-in operation, in which case the JMS transport sender tries to create a temporary Queue on the outgoing JMS Connection, to wait-for, receive and process the synchronous response. From the above stacktrace, I cannot determine the JMS provider, but I believe this is Weblogic JMS? Can you send me the full stack trace, and check if the JMS server allows you (with the credentials or anonymous connection you use) to create temporary queues asankha
Re: Axis2 + jms
Hi Shen Now my axis2 server is listen to the queue, and How can I write a client to call the service? First of all lets make sure your service started on JMS successfully. If it did, it should dump some information like the following: 2008-10-29 14:30:15,240 [-] [main] INFO JMSListener JMS Transport Receiver/Listener initialized... 2008-10-29 14:30:15,315 [-] [main] INFO JMSConnectionFactory Connected to the JMS connection factory : TopicConnectionFactory 2008-10-29 14:30:15,648 [-] [main] INFO JMSConnectionFactory Connection factory : myTopicConnectionFactory initialized... 2008-10-29 14:30:15,651 [-] [main] INFO JMSConnectionFactory Connected to the JMS connection factory : QueueConnectionFactory 2008-10-29 14:30:15,709 [-] [main] INFO JMSConnectionFactory Connection factory : myQueueConnectionFactory initialized... 2008-10-29 14:30:15,712 [-] [main] INFO JMSConnectionFactory Connected to the JMS connection factory : QueueConnectionFactory 2008-10-29 14:30:15,730 [-] [main] INFO JMSConnectionFactory Connection factory : default initialized... 2008-10-29 14:30:15,731 [-] [main] INFO JMSListener JMS Listener started 2008-10-29 14:30:15,731 [-] [main] INFO JMSListener Starting to listen on destination : SimpleStockQuoteService of type queue for service SimpleStockQuoteService 2008-10-29 14:30:15,733 [-] [main] INFO JMSConnectionFactory Mapped JNDI name : SimpleStockQuoteService and JMS Destination name : SimpleStockQuoteService against service : SimpleStockQuoteService 2008-10-29 14:30:15,772 [-] [main] WARN JMSConnectionFactory Cannot find destination : SimpleStockQuoteService. Creating a Queue The JMS listener defaults to a Queue with the same name as your service - unless you override this with the transport.jms.Destination property. So make sure to create the required destination as necessary as WLS does not auto create this like ActiveMQ. Once it starts successfully, you should be able to post a text message (e.g. hello/) from the WLS console to this queue and see something happening on the service. If this is all working, everything is fine. I attached my TestClient and below attached my axis2.xml snippt: Basically a client for a JMS service looks exactly the same as one for a normal web service. Only the EPR or the To address would be a JMS URL If you see any errors, posting your logs would help us better understand any problem asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 + jms
Hi Shen Refer to http://ws.apache.org/axis2/1_3/jms-transport.html to get started asankha Shen, Chunxia wrote: Hi, I want to implement web service using JMS transport. Please forward me a good link or an example that would guide me in the process. Your help on this will be appreciate. Thanks Regards Shen Chunxia (Jennie) ReBT Tel: 86-21-38954626 ext. 61104 [EMAIL PROTECTED] Thanks Regards Shen Chunxia (Jennie) ReBT Tel: 86-21-38954626 ext. 61104 [EMAIL PROTECTED] -Original Message- From: Hans Drexler [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 10, 2008 10:05 PM To: axis-user@ws.apache.org Subject: RE: Axis2 + jms Hello Dwiputera, No, there is no such tool that is easily accessible. In the end, we wrote a small Java program to put messages in the queue. It isn't really hard to do. Not really the end of your problem, I Know... -Original Message- From: Dwiputera Aries Fajar (CI/AFR-SG) [mailto:[EMAIL PROTECTED] Sent: woensdag 3 september 2008 9:01 To: axis-user@ws.apache.org Subject: Axis2 + jms Hi all, I'm quite new to AXIS2 and JMS, so I hope someone in the forum can help me. We are trying to expose our Webservice through JMS. We are using AXIS2 and exploring ActiveMQ. So...i have performed all the necessary steps from : http://ws.apache.org/axis2/1_1/jms-transport.html Everythigg seesm to be ok, my WSDL is correct and it also expose my binding as JMS (see the snipset below). Now...how can I invoke this WS through JMS? Is there any tools like SoapUI where I can give my wsdl and shoot? (I can do just like that if I use the HTTP request within SoapUI, but if I use the JMS, it seems to not reacting. Even my ActiveMQ console seems not to receive any new message). Furthermore, how can I build a JMS client for this particular WS? (any example code???) Thanks, Aries wsdl:port name=echoJmsSoap11Endpoint binding=ns:echoSoap11Binding soap:address location=jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=tcp://localhost:61616/ /wsdl:port − wsdl:port name=echoJmsSoap12Endpoint binding=ns:echoSoap12Binding soap12:address location=jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=tcp://localhost:61616/ /wsdl:port - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AXIS JAVA Client - JMS Transport Authenication
Sam What is the version of Axis2 and the JMS transport which you are using? i.e. is it the SNAPSHOT versions or a previous release? The JMS transport implementation used by Apache Synapse ESB now lives in the WSCommons project so that Axis2 users can share is more naturally. That has support to define connection properties for outgoing JMS on your axis2.xml for the JMS sender. You could define JNDI properties (i.e. credentials) there for them to be picked up. Anyway, some more background information would help us help you better asankha Kuhn, Samuel M wrote: I need to provide a username and password to my AXIS client which is attempting to invoke a web service provider over a TIBCO EMS (JMS implementation) endpoint. I tried setting the username and password using the Call.setUsername() and Call.setPassword() methods with no luck. I also tried adding java.naming.security.principal and java.naming.security.credentials to the URL with no luck. Here's what my String url looks like: static String sampleJmsUrl = jms:/queue.sample? + vendor=JNDI + java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialConte xtFactory + java.naming.provider.url=tcp://localhost:7222 + java.naming.security.principal=abc + java.naming.security.credentials=xyz + ConnectionFactoryJNDIName=QueueConnectionFactory + deliveryMode=persistent + priority=5 + ttl=1 + debug=true; It appears my AXIS client is trying to log on using an anonymous user based on the error message I'm getting from the EMS server. Any help in resolving this would be appreciated. Sincerely, Sam Kuhn - 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: UDP
Andreas Veithen wrote: Second, if I remember well, the decision was to say that transports that are relevant only to Synapse should remain there. This is a somewhat vague definition and AFAIK the list of the transports to be moved has never been clearly defined and I don't have the slightest idea why the list of transport that have been moved up to now is limited to mail and JMS. See my mail : http://markmail.org/message/giqnd6u4jrxxmkm4 I think this is the process by which we will decide on a case by case basis which transports belong where.. so you can move tcp/udp into ws-commons since they could be used with just Axis2 as well. I also remember discussing about the possible use of the Axis2 EJB/CORBA transports by Synapse.. so we need some volunteers to move that to ws-commons from Axis2, and also check its compatibility with Synapse like Axis2 folks are trying out our original mail transport etc now.. asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 + jms
Aries Everythigg seesm to be ok, my WSDL is correct and it also expose my binding as JMS (see the snipset below). Now...how can I invoke this WS through JMS? Is there any tools like SoapUI where I can give my wsdl and shoot? (I can do just like that if I use the HTTP request within SoapUI, but if I use the JMS, it seems to not reacting. Even my ActiveMQ console seems not to receive any new message). Just build a standard Axis2 client, and use the JMS EPR.. Furthermore, how can I build a JMS client for this particular WS? (any example code???) See code at : http://svn.apache.org/viewvc/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/ and the corresponding docs at : http://synapse.apache.org/Synapse_Samples.html#Sample253 You can use the standard Axis2 client with a JMS EPR asankha -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com
Re: JMS timeout
Hi Ihab But I did try that before and it did not work. Where should I put it exactly? in the Receiver or Sender? can you please give me an example of axis2.xml with the modification just to make sure I am doing the correct thing? These need to be set as Axis2 MessageContext properties.. not on your axis2.xml thanks asankha On Tue, Aug 12, 2008 at 9:48 AM, Asankha C. Perera [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: Hi Ihab Please set the message context property JMS_WAIT_REPLY to what you desire (in ms). This will override the default timeout asankha Ihab EL-ALAMI wrote: Thanks for your prompt reply, But actually I am not doing that programmatically. Is there a way to specify that statically from the axis2.xml file for instance? Ihab EL ALAMI Process Expert Intalio, The Open Source BPMS Company Date: Tue, 12 Aug 2008 08:13:21 -0700 From: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] To: axis-user@ws.apache.org mailto:axis-user@ws.apache.org Subject: JMS timeout Hi everybody, I have set up my JMS transport, and I would like now to call a service via JMS. The problem is this service needs more than 20 seconds to answer back, and the timeout for this transport is set to 3ms. How can I modify the timeout? Thanks in advance Ihab Get more from your digital life. Find out how. http://www.windowslive.com/default.html?ocid=TXT_TAGLM_WL_Home2_082008 -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com
Re: axis2 JMS transport support status?
Hi Hans We have implemented a connection between MQ Series 5-7 and axis2 using the axis2 1.4 JMS connectivity and a point-to-point set-up. The implementation basically works, but some questions remain. As long as we use a request/response pattern in the client connecting to our service via jms all is well. In this scenario, the client generates requests at a rate not higher than it receives results. But if we split the client in a separate request Sender and Response reader the following happens: 1) The request sender sends a fixed number (e.g. 1) messages to the MQ Series request queue. 2) Axis2 immediately starts eating messages out of the queue. Since the JMS worker is single threaded by nature it can handle at most 1 request at a time. The JMS listener starts queueing messages read from MQ Series at the maximum rate it can. This it can do faster than the single JMS worker can handle the requests. 3) As a result, the queue inside axis2 grows until all available memory is exhausted and then it crashes with an Out Of Memory exception. All messages that were loaded in the axis2 queue but not processed by the service are lost. Would it not be better if the JMS Listener would not keep a (long) queue of messages, but block instead until the previous request was finished? That would keep the memory consumption of Tomcat constant and avoids loosing messages. Maybe things are different in a Publish/Subscribe scenario. Yes, your suggestion is good.. Also, in a post on axis2-dev, Asanka Perera says jms transport in axis2 is deprecated. Is this true? Are there any recommendations regarding the use of jms transport in combination with axis2? The reason for this confusion is since we developed the JMS transport (and a few other transports such as File, non-blocking http/s, mail, etc) on the Apache Synapse project and checked in this code into the Axis2 SVN creating a copy.. which was not properly maintained. The Synapse version evolved and enhanced, while the Axis2 code basically was not properly maintained. We also have plans under Apache Synapse to support JTA and the new SOAP/JMS spec and many other enhancements as well.. and to consolidate the two versions into one common transport developed outside both of those projects. This however, is a few months away.. asankha -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com
Re: axis2 JMS transport support status?
Hi Hans Changing axis2 1.4 ourselves is not really an option for us, since we want to use vanilla components, not modified ones. We could try to modify the JMS transport (to make it block instead of build a large queue), but we don't know all ins and outs of this (Is this desired in the case of publish/subscribe, for example?). Since the current JMS classes are going to be replaced by the Synapse code base we think it might not be worth the trouble to change it in the axis2 jms transport code. Yes We have also installed Synapse and managed to get it invoking our webservices using JMS without problems. Yet, this works differently. Synapse translates the JMS message into a HTTP SOAP message and passes that message to axis2. So, axis2 and synapse are going to share the code that manages the connection factory and incoming messages. That makes sense... Is there a forum/repository where we can track the progress on the merging of the code bases of the axis2 and synapse projects? Not yet.. we have been busy lately with other defects and enhancements and unfortunately moving transports out into another project lies with lower priority right now.. and thus my rough estimate of a few months before we could get things in place and sorted out clearly.. asankha -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com
Re: JMS timeout
Hi Ihab Please set the message context property JMS_WAIT_REPLY to what you desire (in ms). This will override the default timeout asankha Ihab EL-ALAMI wrote: Thanks for your prompt reply, But actually I am not doing that programmatically. Is there a way to specify that statically from the axis2.xml file for instance? Ihab EL ALAMI Process Expert Intalio, The Open Source BPMS Company Date: Tue, 12 Aug 2008 08:13:21 -0700 From: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] To: axis-user@ws.apache.org mailto:axis-user@ws.apache.org Subject: JMS timeout Hi everybody, I have set up my JMS transport, and I would like now to call a service via JMS. The problem is this service needs more than 20 seconds to answer back, and the timeout for this transport is set to 3ms. How can I modify the timeout? Thanks in advance Ihab Get more from your digital life. Find out how. http://www.windowslive.com/default.html?ocid=TXT_TAGLM_WL_Home2_082008 -- Asankha C. Perera WSO2 - http://wso2.org http://esbmagic.blogspot.com
Re: Axis2 1.4 not Thread safe (possible bug)
sultanat wrote: Is someone working to fix this bug? This is not a bug as I see this.. but a case where the http/s transport does not yet support pipelining. It would be easier to turn this off from your client side. asankha asankha wrote: Chuck Brinkman wrote: We are seeing responses of one type that have the body of another type. For example say we have serviceA that returns a serviceAresponse and serviceB that returns a serviceBresponse. We have captured the network packet and see things like serviceAresponse that has the data from a serviceBresponse. It appears to be related to a flash client we have. The flash client will open a connection and can send a second request using the original connection before it gets a response or a timeout from the first request. I'm still working on the issue but it is in some way good to know that I'm not the only one thinking Axis2 has a thread safety issue. Your flash client is using HTTP pipelining http://en.wikipedia.org/wiki/HTTP_pipelining and this seems like a limitation/bug on the http/s transport, and not necessarily an Axis2 thread safety issue. Can you post the tcpdump traces you have? asankha
Re: Axis2 1.4 not Thread safe (possible bug)
Chuck Brinkman wrote: We are seeing responses of one type that have the body of another type. For example say we have serviceA that returns a serviceAresponse and serviceB that returns a serviceBresponse. We have captured the network packet and see things like serviceAresponse that has the data from a serviceBresponse. It appears to be related to a flash client we have. The flash client will open a connection and can send a second request using the original connection before it gets a response or a timeout from the first request. I'm still working on the issue but it is in some way good to know that I'm not the only one thinking Axis2 has a thread safety issue. Your flash client is using HTTP pipelining http://en.wikipedia.org/wiki/HTTP_pipelining and this seems like a limitation/bug on the http/s transport, and not necessarily an Axis2 thread safety issue. Can you post the tcpdump traces you have? asankha
Re: How to avoid warning Cannot get or lookup JMS destination
I use Axis2 version 1.1.1 with JMS. I get the following warning when I send a message via JMS to the server: WARN org.apache.axis2.transport.jms.JMSOutTransportInfo - Cannot get or lookup JMS destination : StockQuoteService from url : jms:/ StockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.provider.url=jnp://localhost:1199 : StockQuoteService not bound But the webservice works fine. I get the right response. Is there a possibility to avoid this warning maybe by creating a special context in the client? You seem to be using ActiveMQ? If so, ActiveMQ has this special feature that creates JMS destinations on demand,.. so they may not exist when you look for them, but you can post stuff and then they get created. However, normally destinations are administered objects which one needs to create before use. You will not get the WARN if it exists already... asankha
Re: SOAP with JMS and JBoss
Ines 1. axis2.xml: I uncommented the JMS transportReceiver and transportSender. So does the configuration now point to an ActiveMQ JMS provider instance? 1. ActiveMQ: I followed the steps to integrate the Apache ActiveMQ with JBoss as decribed in http://activemq.apache.org/integrating-apache-activemq-with-jboss.html I am not familiar with this.. but why would you want to integrate ActiveMQ with JBoss? You can select either of these as your JMS provider and just use it.. 1. Client: I changed the URL to jms:/StockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=tcp://localhost:61616 This obviously points to ActiveMQ The result is that I get no response: 2008-03-28 12:13:39,286 WARN org.apache.axis2.transport.jms.JMSOutTransportInfo - Cannot get or lookup JMS destination : StockQuoteService from url : jms:/ StockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=tcp://localhost:61616 : StockQuoteService This means that there was no JMS destination named StockQuoteService found on the JNDI when using the given properties (listed out in the warning message).. Usually, AMQ creates destinations on demand but I think other providers like JBoss requires you to create these before hand. Since you have done some 'integration' of the two, I am not sure what is valid.. you could use a JMS sample client like the QueueBrowser or JConsole to see if the destination actually exists and visible when using the above params asankha
Re: MTOM with ADB binding over JMS
Cathal An updated version of the JMS transport is available under the Apache Synapse project (and you can actually just get the synapse-transports.jar (even from maven) and use it with Axis2), and this supports MTOM (See http://synapse.apache.org/Synapse_Samples.html#Sample252) asankha callagc4 wrote: Hi, Has anyone been succesfull using MTOM with ADB data binding over JMS. My configuration works fine when sent over HTTP but over JMS the message is sent as standard with no attachment and no MIME boundaries. Thanks, Cathal - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AW: SOAP with JMS and JBoss
Ines It seems like the request was sent to the right queue but the webservice is not listening to the queue. I did no special configuration for the webservice. Therefore I think it should listen to a queue with the service name (StockQuoteService). Do I need a special message receiver? The StockQuoteService from the Axis2 example has the message receiver Yes, now its getting into a Queue, but the Queue name is not properly bound to the service. On your services' services.xml add the following parameter parameter name=transport.jms.Destination locked=truethefullJNDINameOfYourDestination/parameter Ref: http://ws.apache.org/axis2/1_3/jms-transport.html asankha
Re: Axis attachment with FTP
Manjula FTP is a supported transport with the Apache VFS based transport implementation used in Apache Synapse http://synapse.apache.org (This transport is fully compatible with Axis2) asankha Manjula wrote: Hi, Can we use Axis framework with FTP protocol, rather than using HTTP, for sending attachments. If yes please give guidelines on how to proceed and an example snippet if possible. Thanks Regards, Manjula
Re: MTOM with ADB binding over JMS
Thilina I hate to keep two versions of the transport myself.. but as Synapse needs frequent fixes for the transports, its easier for me to manage it within Synapse. I think still the Axis2 transports are in the Axis2 kernel JAR which makes things complicated to fix stuff.. asankha Thilina Gunarathne wrote: Hi Asanka, Is there any particular reason why this JMS transport cannot be integrated to Axis2 code base, so that all Axis2 users can benefit from it... thanks, Thilina On Wed, Apr 2, 2008 at 2:45 AM, Asankha C. Perera [EMAIL PROTECTED] wrote: Cathal An updated version of the JMS transport is available under the Apache Synapse project (and you can actually just get the synapse-transports.jar (even from maven) and use it with Axis2), and this supports MTOM (See http://synapse.apache.org/Synapse_Samples.html#Sample252) asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WS Performance
Daniela How can I test SOAP connections without using AXIS, only to test the network latency? Try the Java clone of ApacheBench - Source http://svn.apache.org/repos/asf/jakarta/httpcomponents/httpcore/trunk/contrib/src/main/java/org/apache/http/contrib/benchmark/ from Jakarta HttpCore or the Binary https://www-lk.wso2.com/%7Easankha/benchmark/ (Ref http://wso2.org/library/1721) http://wso2.org/library/1721 asankha
Re: setMessageListener not permitted in Websphere
Hi Cathal Would you be interested in contributing this code? Does your solution support service deployment/undeployment? asankha asankha callagc4 wrote: Hi George, Yes we are currently using JMS in WAS 6.1. We chose to go with the MDB approach. It seems that this is IBM's recommended approach to take. What this entailed for us was to basically rewrite the axis2 JMSMessageReceiver class. We deploy an MDB per service. This MDB then forwards the message request into our version of the JMSMessagereciever which looks after passing the message into the AxisEngine. Hope this helps, Cathal Marrows, George A (GE Infra, Energy) wrote: Hi Cathal -- I see from your more recent mails that you are up and running with Axis2 on JMS. Is that still under WAS 6.1? If so, I'm curious what deployment approach you took in the end - was it 1) MDBs or 2) changing the Axis2 code to not use setMessageListener or 3) something else? Hi Axis2 team -- Given Cathal's problem below (which I see also), what is the correct way to deploy Axis2 with JMS transport in in an app server that complies with the J2EE 1.4 spec? https://issues.apache.org/jira/browse/AXIS2-1069 (Message Driven Bean as JMS listener) was closed recently as won't fix, which suggest you don't want to support the MDB approach. Is that correct? Thanks all! -- George - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: AxisServlet ListingAgent
Thanks Dims for fixing this, and sorry for missing this on the axis lists.. regards asankha Davanum Srinivas wrote: anyways, i fixed the AxisServlet in Axis2. thanks, dims Davanum Srinivas wrote: | eek! Don't know why Asankha did not fix Axis2's when he checked in the | synapse patch :( | | -- dims | | Andreas Veithen wrote: | | Hi Guillaume! | | | | In the Apache Synapse project we had the very same problem. See | | http://issues.apache.org/jira/browse/SYNAPSE-222 for a workaround. | | | | Andreas | | | | On 08 Feb 2008, at 15:50, Guillaume Cauchon wrote: | | | | Hi, Im currently working on a custom AxisServlet in which I need to | | pass more data to the .jsp pages. I wanted to extend the ListingAgent | | to add more to the sessions parameters, but the instance access right | | are private so I cant overrides the AxisServlet instance with my own | | | | | | public class AxisServlet extends HttpServlet implements | | TransportListener { | | private static final Log log = LogFactory.getLog(AxisServlet.class); | | public static final String CONFIGURATION_CONTEXT = | | CONFIGURATION_CONTEXT; | | public static final String SESSION_ID = SessionId; | | protected transient ConfigurationContext configContext; | | protected transient AxisConfiguration axisConfiguration; | | | | protected transient ServletConfig servletConfig; | | | | private transient ListingAgent agent; | | | | } | | | | The simplest solution would be to change the access right to | | protected, but I dont know if this would have any side effect Based | | on the code base I dont see why it would have any negative effects on | | the webapp Other than that, any ideas how I could do this without | | copying the AxisServlets doGet to my servlet class method to use my | | instance of ListingAgent? | | | | Thanks | | | | Guillaume Cauchon | DataDirect Technologies inc. | | -email: | | [EMAIL PROTECTED] | | -mobile: | | 418.952-7357 | | -work: | | 418.649-1551 | | | | | | - 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: Async requests killing network
Martin You uncomment the NIO transport listener and sender from the default axis2.xml and comment the http/s listener and sender you were using earlier. Then you can configure the ports etc as necessary for the NIO transport. Alternatively, as Paul commented, you could use the o.a.synapse.transport.* code from synapse-transports-1.1.1.jar on Maven2. This includes more bug fixes and enhancements than the version that ships with Axis2 1.3 release asankha [EMAIL PROTECTED] wrote: I'll ask the dumb question..How do you configure AXIS2 to use the NIOConnector instead of default HTTP Connector? Thanks Martin-- - Original Message - Wrom: MBIPBARHDMNNSKVFVWRKJVZCMHVIBGDADRZFSQHYUCDDJBL To: axis-user@ws.apache.org Sent: Monday, February 11, 2008 12:16 PM Subject: Re: Async requests killing network Matthias, have you tried to create less Callback objects and handle your bunch or requests (at least) with a single one? Furthermore, Paul pointed out the NIO connector. If you're instead using the default one, I'd suggest you to customize the configuration context your service client uses in order to inject a custom HttpConnectionManager (see the httpclient library) and periodically call closeIdleConnections(). Michele On 11 Feb 2008, at 11:11, Matthias Wermund wrote: Hi, I'm having problems starting a big amount of async webservice requests via Axis2 client in short time. The requests are all started from the same Thread and should run parallel in only small amount. As you can see below, I start about 1000 * 5 = 5000 requests, but only a max of 2-5 are called parallel. For each dataset, a few information-requests are started parallel, but I ensure that each CallbackHandler has been finished, before requesting the informations for the next dataset. For the first several hundred requests this works fine, but after some time, my network (OS is Windows 2000) goes down, which means that the complete OS looses the connection to the local network. I guess this could be based in opening too much TCP connections or something like this, because if it affects the whole OS and not just my application, it has to be something with the network device or driver. So basically my question is: Is it ensured that the TCP connection is already closed when CallbackHandler.onError or CallbackHandler.onComplete is called? Or must I do this myself in any way? Do you have any other clue what might be the problem here? Thank you! __ A quick mock-overview of how I start the threads: ListDataset datasets;// approx. 500 - 1000 objects ... for (Object data: datasets) { ListCallback callbacks; for (Information info: myRequestsForThisData) {// approx. 2-5 objects // Generating the Request Document Request request = generateRequest(info); // Generating a service Callback instance; the Callback class has an attribute finished Callback myCallback = new Callback(); // remembering the callback callbacks.add(myCallback); // starting the async request stub.startRequest(request,myCallback); } // now wait until all Callbacks are finished (finished is true if onError or onComplete has been called) while (true) { boolean allCompleted = true; for(Callback callback: callbacks) if (callback.isFinished()) { allCompleted = false; break; } if (allCompleted) break; Thread.sleep(25); } } - 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: [axis2] SimpleHTTPServer as transport listener causes too many connections to stay in TIME_WAIT state
Not if you are using the NIO listener on the server side and sending requests on the NIO listeners' port.. No, calls were made to the tomcat port. I don't understand what you are trying to achieve here.. if you are using the o.a.synapse NIO based transports to get over the TIME_WAIT problems with the Tomcat/Servlet transport, why do you keep sending messages to the Tomcat port instead of the NIO ports? The synapse transports are used for outgoing messages. I think you should also use the same transports for incoming.. I thought you were using Synapse NIO transports to overcome some limitations of Tomcat transport? If you want a really good load generator for web service calls, use the benchmark code from Apache HttpComponents - its as good as or better than ApacheBench for web services Code - http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/contrib/src/main/java/org/apache/http/contrib/benchmark/ Binary - https://www-lk.wso2.com/~asankha/benchmark/ Sample / Reference - http://wso2.org/library/1721 Please correct me if I'm wrong, but it looks to me that your client is deterministic, i.e. does not introduce any randomness (for example for the arrival rate, I'd like an average value of x, but with some distribution, not via constant values) -- which is very important in real systems. Well it behaves like Apache Bench - you can specify concurrency and that number of threads are spawned, and each of these threads start sending the specified number of requests one after another.. you can get this code from Apache HttpCore and easily modify it to introduce randomness, and even contribute your changes back No, I've written the client, and it's pretty optimized. Can you share a TCPDump of a sample request made by your client and the response received.. in particular I am interested to know if you use 1. HTTP 1.1 2. Keepalive connections 3. Chunking I've tried all the possible combinations. Currently I'm using the NIO transports on the client side as well, and by default java uses http 1.1, which in turn uses keep alive by default. Is there any way to customize the NIO sender behavior? Yes, by making a property file called nhttp.properties available on the classpath. Look at the NHttpConfiguration class for more details - However note that the defaults are very much cable of handling huge loads Ref: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java?view=markup I know how to change SO_TIMEOUT and so on, You can change things like SO_TIMEOUT, CONNECTION_TIMEOUT, SOCKET_BUFFER_SIZE, STALE_CONNECTION_CHECK, TCP_NODELAY etc Look at HttpCoreNIOSender.getClientParameters() method but how can I change -- for example -- the max number of requests that are sent over the same channel (the tomcat NIO connector allows such thing)? You mean for re-using existing connections? if so there is no limit, if a free channel is 'available' it will be used asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [axis2] SimpleHTTPServer as transport listener causes too many connections to stay in TIME_WAIT state
However the tomcat NIO connector can be customized in a greater way [1], for example it allows to bound the maximum number of requests that can be pipelined. Is there any way to achieve a similar result with the synapse transport? By default the equivalent for Synapse is unlimited asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [axis2] Unexpected character 'E' (code 69) in prolog; expected ''
Seems like you are receiving an HTML response to a SOAP query.. This issue is fixed on the latest Synapse transport - but not available in the code of Axis2 1.3 asankha Michele Mazzucco wrote: Hi again, some more information. The NPE is thrown both if the fault is created with an exception as argument or if the fault is created this way throw new AxisFault(Stream rejected); Michele On Thu, 2008-02-07 at 15:28 +, Michele Mazzucco wrote: Hello everybody, I'm getting this error on the client side ERROR 15:16:40,047 (QueueController.java:200) - Unable to add stream for queue ServiceTwo, com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'E' (code 69) in prolog; expected '' [java] at [row,col {unknown-source}]: [1,1] This error is not new (see here http://mail-archives.apache.org/ mod_mbox/ws-axis-user/200707.mbox/[EMAIL PROTECTED] for example) when an user exception is thrown on the server side. The servers log tells me about an error processing a POST request. The error occurs at ServerWorker:421 (I'm using the NIO listener/sender) ERROR 15:15:06,766 (ServerWorker.java:421) - Error processing POST request org.apache.axis2.AxisFault: ncl.qosp.controller.policies.admission.streams.RejectedStreamException: Stream rejected 12 at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417) at ncl.qosp.controller.streams.StreamRoutingService.addStream (StreamRoutingService.java:309) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogi c(RawXMLINOutMessageReceiver.java:97) at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusine ssLogic(AbstractInOutSyncMessageReceiver.java:42) at org.apache.axis2.receivers.AbstractMessageReceiver.receive (AbstractMessageReceiver.java:96) at org.apache.axis2.engine.AxisEngine.receive (AxisEngine.java:145) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReques t(HTTPTransportUtils.java:275) at org.apache.axis2.transport.nhttp.ServerWorker.processPost (ServerWorker.java:207) at org.apache.axis2.transport.nhttp.ServerWorker.run (ServerWorker.java:171) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:595) Caused by: ncl.qosp.controller.policies.admission.streams.RejectedStreamException: ncl.qosp.controller.policies.admission.streams.RejectedStreamException: Stream rejected 12 at ncl.qosp.controller.dispatcher.streams.StreamDispatcherImpl.addStream (StreamDispatcherImpl.java:363) at ncl.qosp.controller.streams.StreamRoutingService.addStream (StreamRoutingService.java:290) ... 14 more Caused by: ncl.qosp.controller.policies.admission.streams.RejectedStreamException: Stream rejected 12 at ncl.qosp.controller.dispatcher.streams.StreamEvaluatorTask.call (StreamEvaluatorTask.java:176) at ncl.qosp.controller.dispatcher.streams.StreamEvaluatorTask.call (StreamEvaluatorTask.java:37) at java.util.concurrent.FutureTask$Sync.innerRun (FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675) ... 1 more Exception in thread HttpServerWorker-15 java.lang.NullPointerException at org.apache.axis2.transport.nhttp.ServerWorker.handleException (ServerWorker.java:441) at org.apache.axis2.transport.nhttp.ServerWorker.processPost (ServerWorker.java:214) at org.apache.axis2.transport.nhttp.ServerWorker.run (ServerWorker.java:171) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:595) From the source code I understand that: 1 - the output stream is null, or 2 - the exception message is null Any idea? Thanks in advance, Michele - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [axis2] SimpleHTTPServer as transport listener causes too many connections to stay in TIME_WAIT state
Michele Not if you are using the NIO listener on the server side and sending requests on the NIO listeners' port.. No, calls were made to the tomcat port. I don't understand what you are trying to achieve here.. if you are using the o.a.synapse NIO based transports to get over the TIME_WAIT problems with the Tomcat/Servlet transport, why do you keep sending messages to the Tomcat port instead of the NIO ports? No.. the NIO client / Sender is optimized for a server environment - like Synapse - and thus not recommended for a simple client, as it starts a NIO reactor and a thread pool for handling IO requests with dedicated IO threads etc. So, this will be good for your server side if you are making many outgoing calls from the server side.. What about if the client is a load generator? If you want a really good load generator for web service calls, use the benchmark code from Apache HttpComponents - its as good as or better than ApacheBench for web services Code - http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk/contrib/src/main/java/org/apache/http/contrib/benchmark/ Binary - https://www-lk.wso2.com/~asankha/benchmark/ Sample / Reference - http://wso2.org/library/1721 BTW.. I think you are developing something like an ESB?? Something like that, but with some smart forwarding/throttling policies Have you looked at Apache Synapse? It uses the above NIO transports very effectively and is optimized for high performance. It supports throttling, caching etc and a host of other features - even on clustered HA environments No, the client is on a remote machine. I've tried to use both blocking and non blocking sender/listener on the client side, and the bottleneck seems to be the server. This could very well be due to a weakness on the client side.. for example even if you used ApacheBench you will could bad performance for some cases as it doesn't support HTTP 1.1! No, I've written the client, and it's pretty optimized. Can you share a TCPDump of a sample request made by your client and the response received.. in particular I am interested to know if you use 1. HTTP 1.1 2. Keepalive connections 3. Chunking asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [axis2] SimpleHTTPServer as transport listener causes too many connections to stay in TIME_WAIT state
Michele I did the following: - updated tomcat from 5.5 to 6.0.14 - enabled and tuned the tomcat NIO connector The above are ok - but does not affect the synapse-transports-1.1.1.jar at all... - upgraded the NIO listener and sender to synapse 1.1.1 (I had to upgrade the http-core library from alpha5 to beta1) - enabled the NIO sender on the server side (as I said I have some ServiceClient instances running on the server too) ok.. but it didn't fix the problem. Indeed, about 50% of the connections in TIME_WAIT state are due to the tomcat connector and the other 50% to the axis2 sender. what do you mean tomcat connector? If you changed your axis2.xml to enable the o.a.synapse.transport.nhttp package, then *all* of your messages should only be handled by it and not by Tomcat anymore.. you cannot have a mix.. So I enabled the NIO sender and NIO receiver on the client side. My scenario is composed by about 80% of asynchronous interactions and 20% of very fast blocking in-out MEPs. Now the latter fail this way: For optimal usage of server resources you should tune your OS (refer http://wso2.org/library/1721) i.e. at a minimum; /etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_fin_timeout = 30 fs.file-max = 2097152 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 /etc/security/limits.conf * soft nofile 4096 * hard nofile 65535 Also ensure you give enough heap to the Java process, and use HTTP 1.1 and Keepalives as much as possible. ERROR 19:44:03,967 (QueueController.java:192) - Unable to add stream for queue Service2 The executed statements (related to axis2) are: final OMElement payload = createPayload(); ServiceClient sender = new ServiceClient(AddStreamConfiguration.getConfigurationContext(), null); sender.setOptions(getOptions()); OMElement result = sender.sendReceive(payload); where the options are options.setTransportInProtocol(Constants.TRANSPORT_HTTP); options.setCallTransportCleanup(true); options.setTo(StreamClient.getRouterEpr()); options.setAction(TestConstants.ADD_STREAM_SOAP_ACTION); options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI); options.setProperty(HTTPConstants.CHUNKED, Boolean.TRUE); options.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION, Boolean.TRUE); and the configuration context differs from the default one because of the http connection manager with cached http client. I believe the above if for your client - and note that some of the above used properties does not apply to the NIO transport.. However, are you running your client and the server (and anything else related to the test scenario) on the same machine? If so, make sure that the culprit is not the client - I think the above code uses the default HTTP transport that uses the HttpClient codebase.. that may have properties for tuning which I am not fully familiar with.. asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [axis2] SimpleHTTPServer as transport listener causes too many connections to stay in TIME_WAIT state
Michele my WS runs inside tomcat, but there are some ServiceClient(s) instances running in it. So I guess incoming requests are handled by the tomcat connector while outgoing messages are handled by the synapse sender, right? Not if you are using the NIO listener on the server side and sending requests on the NIO listeners' port.. On the client side, instead, I used the nio transport for both incoming and outgoing messages. No.. the NIO client / Sender is optimized for a server environment - like Synapse - and thus not recommended for a simple client, as it starts a NIO reactor and a thread pool for handling IO requests with dedicated IO threads etc. So, this will be good for your server side if you are making many outgoing calls from the server side.. BTW.. I think you are developing something like an ESB?? No, the client is on a remote machine. I've tried to use both blocking and non blocking sender/listener on the client side, and the bottleneck seems to be the server. This could very well be due to a weakness on the client side.. for example even if you used ApacheBench you will could bad performance for some cases as it doesn't support HTTP 1.1! I think the client uses the transports defined in axis2.xml, it should not matter which kind of properties you define into the Options. What do you suggest?, I don't think the problem is the tomcat connector (I've tried both tomcat 5.5.23 with blocking connector and 6.0.14 with non blocking one) Again, if you use the NIO listener on the server side, nothing will use the Tomcat connector asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Using some sort of in-VM transport between Synapse and a web app deployed on the same server?
Andreas * By acquiring a RequestDispatcher for a servlet from the foreign context and invoking forward or include on this object. The first approach can be discarded, again because of class loader issues and the fact that it would require changes to the second application. The second approach is more promising because it allows to invoke the servlet that implements the target service. Note however that there is an important restriction imposed by the servlet specification on the use of RequestDispatcher#include/forward: The request and response parameters must be either the same objects as were passed to the calling servlet’s service method or be subclasses of the ServletRequestWrapper or ServletResponseWrapper classes that wrap them. This means that these methods can't be called with arbitrary HttpServletRequest/Response implementations. Obviously this requirement is there to guarantee that the server gets access to the original request/response objects. It could be that some servers do not enforce this requirement, but for those that do, the practical consequence is that the RequestDispatcher approach would only work if the original request is received by SynapseAxisServlet, which is perfectly compatible with the use case described here. My question is whether anybody on this list is aware of an existing Axis2 transport implementation that uses this approach or if anybody here sees any obstacle that would make it impossible to implement this kind of transport. Since Synapse would most frequently modify the original request and forward a new (e.g. transformed request of the original) to the back end service, I doubt if this approach would be feasible.. however, although you could theoretically use Synapse with a servlet transport, we built the non-blocking http/s transports for Synapse, as acting as an ESB it needs to handle many connections concurrently passing them between the requester and the actual service. If using a servlet transport, the thread invoking Synapse would block until the backend service replies, and this could lead to the thread pool being exhausted very soon. The objective of the non-blocking http/s transport is to prevent this and it works very well when load tested.. Anyway when two apps communicate on the same host, the TCP overheads are reduced AFAIK by the OS's and the calls passed through locally asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JMS on axis2
Can I suggest you try something ..? Can you download http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/synapse/synapse-transports/1.1/synapse-transports-1.1.jar into your lib folder (i.e. where your axis2-kernel.jar currently resides) and edit your axis2.xml as transportReceiver name=jms class=org.apache.*synapse*.transport.jms.JMSListener /transportReceiver and transportSender name=jms class=org.apache.*synapse*.transport.jms.JMSSender/ Leave everything else the same.. and only change the package name as shown above.. Let me know if this fixes the issue. asankha zze-TRABELSI Anis RD-BIZZ-ISS wrote: Thank you for your answer I have already seen this thread, I think the problem does not come from the deployment of the service. Here is what I get when I start tomcat (the JMS transport is initialized) : 13 nov. 2007 15:40:10 org.apache.catalina.core.AprLifecycleListener init INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Java\JDK\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;c:\orawin\bin;C:\oracle\ora81\bin\;C:\Program Files\Oracle\jre\1.1.7bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Axalto\Access Client\v5\;C:\Program Files\QuickTime\QTSystem\;C:\Sun\SDK\bin;C:\Sun\jwsdp-2.0\jwsdp-shared\bin;C:\Sun\AppServer\bin;C:\Java\Sun\bin;C:\JOnAS-4.8.5ant\bin;C:\Java\JDK\bin;C:\JOnAS-4.8.5\bin\nt;C:\Sun\jwsdp-2.0\jwsdp-shared\bin;AXIS2_HOME;AXIS2_HOME\bin;J2EE_HOME\bin;M2_HOME;M2_HOME\bin 13 nov. 2007 15:40:10 org.apache.coyote.http11.Http11Protocol init INFO: Initialisation de Coyote HTTP/1.1 sur http-8080 13 nov. 2007 15:40:10 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 525 ms 13 nov. 2007 15:40:10 org.apache.catalina.core.StandardService start INFO: DÚmarrage du service Catalina 13 nov. 2007 15:40:10 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.13 13 nov. 2007 15:40:10 org.apache.catalina.startup.HostConfig deployWAR INFO: DÚploiement de l'archive axis2.war de l'application web 13 nov. 2007 15:40:11 org.apache.axis2.deployment.ModuleDeployer deploy INFO: Deploying module: addressing-1.2 13 nov. 2007 15:40:11 org.apache.axis2.deployment.ModuleDeployer deploy INFO: Deploying module: soapmonitor-1.2 13 nov. 2007 15:40:11 org.apache.axis2.deployment.ServiceDeployer deploy INFO: Deploying Web service: MyService.aar 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory getDestinationName ATTENTION: Error looking up destination with JNDI name : MyService to map its corresponding provider specific Destination name 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory addDestination ATTENTION: JMS Destination with JNDI name : MyService does not exist 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory addDestination ATTENTION: JMS Destination with JNDI name : MyService created 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory addDes tinationINFO: Mapping JNDI name : MyService and JMS Destination name : MyService against service : MyService 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSListener init INFO: *JMS Transport Receiver (Listener) initialized... *13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory listenOnDestination ATTENTION: Cannot find destination : MyService Creating a Queue with this name 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : default initialized... 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : myTopicConnectionFactory initialized... 13 nov. 2007 15:40:12 org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : myQueueConnectionFactory initialized... 13 nov. 2007 15:40:13 org.apache.coyote.http11.Http11Protocol start INFO: DÚmarrage de Coyote HTTP/1.1 sur http-8080 13 nov. 2007 15:40:13 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 13 nov. 2007 15:40:13 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/32 config=null 13 nov. 2007 15:40:13 org.apache.catalina.startup.Catalina start INFO: Server startup in 2732 ms *De :* Ted Jones [mailto:[EMAIL PROTECTED] *Envoyé :* mardi 13 novembre 2007 17:12 *À :* axis-user@ws.apache.org *Objet :* Re: JMS on axis2 Here is a thread on JMS with Axis2 that may be helpful to you. http://www.mail-archive.com/axis-user@ws.apache.org/msg26522.html HTH, Ted zze-TRABELSI Anis RD-BIZZ-ISS wrote: Hello, I'm trying to run JMS over axis2 1.2 I create a web service called MyService which I deploy on tomcat 6.0.13 I generate the client stub and I start activemq (as JMS provider) The problem
Re: soap over jms
Michele Yes, you could. But we haven't done it since it would increase the size of the Synapse core download. asankha Michele Mazzucco wrote: Paul, thanks very much for your explanation. Just a quick question now. Can I embed ActiveMQ into Synapse? Thanks, Michele On Thu, 2007-08-09 at 18:35 +0100, Paul Fremantle wrote: Michele So the JMS transport supports SOAP/JMS, I believe this uses the standard (which was posted to axis-dev a while back by Glen Daniels), also XML/JMS, text and binary too. Synapse can switch between these. Basically it represents text and binary using special wrapper elements in the message binary xmlns="http://ws.apache.org/commons/ns/payload". The samples show how to switch from a SOAP/HTTP to XML/JMS message. http://ws.apache.org/synapse/Synapse_Samples.html#Transport Paul On 8/9/07, Michele Mazzucco [EMAIL PROTECTED] wrote: Ok, sorry Paul :). I simply meant if there's anything special I should know in order to use pure JMS inside my web service running on top of axis2/synapse, i.e. I guess I should use a TextMessage if I want to forward a message somewhere. What shall the it include?, just the SOAP body or the full envelope? Does it make sense to mix pure JMS and SOAP or it's better to split these tasks? If I split them, what about inter-leavings and other time related problems? Thanks, Michele On Thu, 2007-08-09 at 14:55 +0100, Paul Fremantle wrote: I didn't understand part two of question #1 Synapse can also do load-balancing based on Axis2 sessions with affinity, so each request goes to the server that initiated the session. Paul On 8/9/07, Michele Mazzucco [EMAIL PROTECTED] wrote: Paul, thanks very much for the quick answer. However my idea about the proxy was a bit different, that is the proxy is used to address fault tolerance issues (at least at this stage), not for performance reasons. The rationale is that my web service is statefull and it looks to me that keeping the replica in sync would be very messy as the load increases (and beyond a certain point it would be infeasible). I've notice you didn't reply to the second part of question #1, so I guess I can do it the usual way (i.e. via MessageListener on the receiver side for async processing). Thanks, Michele On Thu, 2007-08-09 at 13:47 +0100, Paul Fremantle wrote: Michele You could use Apache Synapse (ws.apache.org/synapse). It can take XML/SOAP over HTTP requests and forward them to JMS. No coding required. It can also perform load-balancing. You could do round-robin DNS to Synapse to spread the load to a pair of Synapse servers or just have one. It can handle fairly high loads on its own. Paul On 8/9/07, Michele Mazzucco [EMAIL PROTECTED] wrote: Hi all, I want use both SOAP over HTTP and SOAP over JMS (topic with multiple subscribers) but it's not very clear how to achieve my goal. I want to put a sort of proxy/load balancer in front of my distributed app to receive HTTP requests and forward them via JMS to a replicated web service. Here are my questions: 1 - How do I configure axis2 assuming it runs inside tomcat? I guess the transport is completely transparent to my app, but what about if I want to use JMS to accomplish other tasks? 2 - What do you suggest to use as proxy (I'll eventually need to modify it in order to detect and react to node crashes). Thanks, Michele - 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] - 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: [axis2] jms configuration how to
Michele transportReceiver name=jms class=org.apache.axis2.transport.jms.JMSListener parameter name=default parameter name=java.naming.factory.initialorg.apache.activemq.jndi.ActiveMQInitialContextFactory/parameter parameter name=java.naming.provider.urltcp://localhost:61616/parameter parameter name=transport.jms.ConnectionFactoryJNDINameQueueConnectionFactory/parameter /parameter /transportReceiver You have specified that the JMS connection factory found when a JNDI lookup is performed for QueueConnectionFactory using the initial context factory org.apache.activemq.jndi.ActiveMQInitialContextFactory and the url tcp://localhost:61616 should be used by the Axis2 JMS listener. Note that the above sample configuration is the default configuration for a standalone ActiveMQ release - and not for an ActiveMQ instance embedded into Tomcat. [ERROR] Error creating a JMS connection using the factory : QueueConnectionFactory javax.jms.JMSException: Could not create Transport. Reason: java.io.IOException: Transport scheme NOT recognized: [tcp] Here the JNDI lookup has failed when trying to access the JNDI context using the above IC factory and URL. Probably this is due to an issue in embedding ActiveMQ into Tomcat - which I am not familiar with. You could refer to the ActiveMQ documentation, and supply the correct parameters for Axis2 to use to acquire the JNDI context and things will work asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Too many open files
Michele Try these until you upgrade to a later version of Axis2 /etc/sysctl.conf net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_fin_timeout = 30 fs.file-max = 2097152 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 /etc/security/limits.conf * soft nofile 4096 * hard nofile 65535 asankha Michele Mazzucco wrote: Chathura, thanks for your advice, but HTTP 1.1 uses keep alive by default. Michele On 23 Jul 2007, at 16:57, Chathura Herath wrote: If the same client is making multiple requests you could try to use HTTP keep alive so sockets would be reused. I had a similar problem in a totally different software and this trick worked, just an idea. Chathura On 7/20/07, Davanum Srinivas [EMAIL PROTECTED] wrote: Michele, My 2 cents, update to RC2, Any issues, we will try to fix by Final. How does that sound? thanks, dims On 7/20/07, Michele Mazzucco [EMAIL PROTECTED] wrote: Hi all, I'm still using Axis2 1.1.1 (I know, it's my fault :(). Anyway, even if I set the connectionTimeout of the tomcat connector to 500 ms (server.xml) when the arrival rate increases (about 30 req/sec.) the system is not able to cope with the user demand (linux with default settings, i.e. ulimit -n = 1024). I know this is a quite known issue, but I'm a bit reluctant to upgrade because I guess I'd need to change some code. Is this problem fixed in newer releases? Thanks, Michele - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Davanum Srinivas :: http://davanum.wordpress.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --Chathura Herath http://people.apache.org/~chathura/ http://chathurah.blogspot.com/ - 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: [Axis2] How to forward a SOAP message
Michele I meant it in terms of enforcing hard modularity. You would not want your firewall to go down because your FTP server crashed right? Similarly you may not want to compromise your ESB that handles [all of] your enterprise traffic in the same VM as your service implementations - as a badly written or compromised service could crash or render the VM useless or kill the entire process. asankha Michele Mazzucco wrote: Asankha, could you explain me why? Don't services run in isolation? Michele On Tue, 2007-07-10 at 09:39 +0530, Asankha C. Perera wrote: It would be a better implementation to keep your intermediary running on a separate VM/process if you are using an instance of Axis2 to host "other" service implementations for your clients at B anyway. - 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: [Axis2] How to forward a SOAP message
Hi Sanoran As Paul mentioned, this Synapse is the best solution for you. Not only can it create proxy services at B, but also enforce 2-way SSL between A and B and, validate or transform requests from A before being forwarded to C etc.. all *without* coding! Look at some of the Synapse samples, and Sample #51 would be of interest to you - http://ws.apache.org/synapse/Synapse_Samples.html#Sample51 Synapse can handle MTOM, SwA as well as Base 64 You do not have to use Axis2 to "host" Synapse, as it can run standalone at B. It would be a better implementation to keep your intermediary running on a separate VM/process if you are using an instance of Axis2 to host "other" service implementations for your clients at B anyway. Also, being an intermediary Synapse has to deal with many concurrent connections - and typically a two way request through Synapse requires two ports to be open between A-B and B-C. Thus Synapse runs outside of a typical servlet container to achive a high throughput, as servlets are blocking. Synapse is designed and developed to handle this scenario without blocking on IO and is using Java NIO through the Apache HttpCore/NIO to achieve this. (Check http://wso2.org/library/1721 for some preliminary figures) asankha Sanoran Triamesh wrote: Thank you for your suggestions. The server at B can have axis2 in it (hence intermidiate web-service that can intercept soap headers etc). What I am really concerned about is attachments. I expect to have large attachments, both ways. Unfortunately I am new to web service and not familiar with ws-addressing yet, -so its a learning process, -I am trying to create an intermidate service, and probably have to experiment a bit to see if it works. Thanks again, S On 7/9/07, Walker, Jeff [EMAIL PROTECTED] wrote: The 'standard' web service solution I believe, is to write some SOAP header handlers, deploy them at B, and they take care of logging, they then pass the request onto the actual web service impl at C, if certain required checks pass. This is the whole point ofSOAP headers,I think. They take care of pre (and post) processing like logging and auditing, in your domain. (Doesn't WS-Addressing do something like this?) Having said that, you have a plain HTTP server at B and not anintermediate web service that catches all requests (which is what most SOA architects would recommend, I think). Can the HTTP server have functionality added to it? YourHTTP server at B should be able to interceptthe HTTP request bound for the web service at Cand at least log the request. This is a fairly basic function of any HTTP server. (I once had a simliar kind of situation, but in our case, we were using 2-way SSL and the cert had to be extracted, checked and the requestdecrypted at thehttp server,which was forwarded to our web service). From: Sanoran Triamesh [mailto:[EMAIL PROTECTED]] Sent: Monday, July 09, 2007 2:24 PM To: axis-user@ws.apache.org Subject: Re: [Axis2] How to forward a SOAP message We are a big defensecompany and have very restrictive internet access. I have to create a pc/desktop client (A)to a web service (C) that inside a isolated lan, and can only access C via an intermidiate http server (B).Also, I have to log/monitor requests at B andconvince security people that they can intercept/monitor the requests. I am sure there are many solutions possible, but I am also new to web services. So my proposal was to have A send a SOAP/http request to B, where there will be a 'proxy' service that will send the request to C. Synapse could be an axis service running inside B redirecting and allowing monitoring. I would, of course, not want to code anything on B but rather use an existing solution. Feel free to suggest alternatives (off line if you wish, [EMAIL PROTECTED]). Thanks On 7/9/07, Paul Fremantle [EMAIL PROTECTED] wrote: Cant use synapse :( Can you explain? - 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: A question about Axis2 embed SimpleHTTPServer
Hi Lizhao Set up the Java NIO based http/s transports as follows, by commenting out transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer" /transportReceiver and uncommenting the following section !-- the non blocking http transport based on HttpCore + NIO extensions-- transportReceiver name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOListener" parameter name="port" locked="false"9000/parameter parameter name="non-blocking" locked="false"true/parameter /transportReceiver !-- the non blocking https transport based on HttpCore + SSL-NIO extensions-- transportReceiver name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLListener" parameter name="port" locked="false"9002/parameter parameter name="non-blocking" locked="false"true/parameter parameter name="keystore" locked="false" KeyStore Locationidentity.jks/Location TypeJKS/Type Passwordpassword/Password KeyPasswordpassword/KeyPassword /KeyStore /parameter parameter name="truststore" locked="false" TrustStore Locationtrust.jks/Location TypeJKS/Type Passwordpassword/Password /TrustStore /parameter !--parameter name="SSLVerifyClient"require/parameter supports optional|require or defaults to none -- /transportReceiver If you want to perform two-way authenticatoin, comment out the SSLVerifyClient parameter and set to require or optional parameter name="SSLVerifyClient"require/parameter Now, you must make your identity store and trust store available to Axis2 through the classpath. What you could do is edit your setenv.sh to look as follows, by appending the lib directory to the start. The identity store should contain one entry that will be used when axis2 listens over https. The trust store will contain the certificates and CA certs that your server trusts AXIS2_CLASSPATH="$AXIS2_HOME/lib":"$JAVA_HOME/lib/tools.jar":"$AXIS2_CLASSPATH":"$CLASSPATH" Now copy your certificate stores to the lib directory, you may grab a sample identity.jks and trust.jks from here to check this out.. http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/resources/ Comment out the old http/s senders transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"... and transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender" and uncomment the NIO senders as follows: !-- the non-blocking http transport sender based on HttpCore + NIO extensions-- transportSender name="http" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSender" parameter name="non-blocking" locked="false"true/parameter /transportSender !-- the non-blocking https transport sender based on HttpCore + NIO SSL extensions-- transportSender name="https" class="org.apache.axis2.transport.nhttp.HttpCoreNIOSSLSender" parameter name="non-blocking" locked="false"true/parameter parameter name="keystore" locked="false" KeyStore Locationidentity.jks/Location TypeJKS/Type Passwordpassword/Password KeyPasswordpassword/KeyPassword /KeyStore /parameter parameter name="truststore" locked="false" TrustStore Locationtrust.jks/Location TypeJKS/Type Passwordpassword/Password /TrustStore /parameter !--parameter name="HostnameVerifier"DefaultAndLocalhost/parameter supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -- /transportSender asankha Chen, Lizhao wrote: Hi, Asankha, Can you tell me in detail how to configure the relevant entries on the transport for keystore in axis2.xml? Best Regards! Lizhao Chen 86-021-50800850-8395 From: Asankha C. Perera [mailto:[EMAIL PROTECTED]] Sent: Sunday, July 08, 2007 2:36 AM To: axis-user@ws.apache.org Subject: Re: A question about Axis2 embed SimpleHTTPServer Hi Lizhao You could use the new non-blocking http/s transport with Axis2 1.3. However, there was an issue with the RC1 release for https, but would work with any new nightly build thats built after this email, or the 1.3 release version. You will need to uncomment the section to enable the non-blocking transport from the axis2.xml and comment out the old http/s transport. Also you will need to place your identity and trust keystores on the classpath and configure the relevant entries on the transport. asankha Chen, Lizhao wrote: Hi, Can Axis2 embed SimpleHTTPServer start up in https way? The web service deployed in this way can be accessed by https:// Best Regards! Lizhao Chen
Re: A question about Axis2 embed SimpleHTTPServer
Hi Lizhao You could use the new non-blocking http/s transport with Axis2 1.3. However, there was an issue with the RC1 release for https, but would work with any new nightly build thats built after this email, or the 1.3 release version. You will need to uncomment the section to enable the non-blocking transport from the axis2.xml and comment out the old http/s transport. Also you will need to place your identity and trust keystores on the classpath and configure the relevant entries on the transport. asankha Chen, Lizhao wrote: Hi, Can Axis2 embed SimpleHTTPServer start up in https way? The web service deployed in this way can be accessed by https:// Best Regards! Lizhao Chen 86-021-50800850-8395 The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any reproduction, dissemination or distribution of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you. Tellabs - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Temporary files/ Stress testing with Axis2 1.2 [SEC=UNCLASSIFIED]
Greg Are you running the system on Windows or Linux? The OS decides the number of files a process can open. If you are using a Unix system, try to increase the number of files as follows. This is not a solution for a possible Axis2 issue, but something to make sure before you run a typical load test. You may be able to find alternatives for Windows on Google. Maybe http://coldfused.blogspot.com/2007/02/mystery-of-too-many-open-files.html would be of interest too. /etc/sysctl.conf fs.file-max = 2097152 /etc/security/limits.conf * soft nofile 4096 * hard nofile 65535 asankha Davanum Srinivas wrote: Greg, Please create an issue in JIRA and upload your test ASAP. we are in the middle of perf testing. this would be a great scenario to fix for 1.3 release. thx, dims On 7/2/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hello, Our team is currently using Axis2 1.2 in our application and we are running some performance and stress tests with JMeter. While running these stress tests we have come across two issues that we hope someone can help us with. The first issue relates to temporary files. In our stress testing we were using the URLBasedAxisConfigurator to load .mar files on the client side, but got the error below with 1 user and 1000 iterations: java.lang.RuntimeException: java.io.IOException: Too many open files;; at org.apache.axis2.deployment.util.Utils.getURLsForAllJars(Utils.java(Compiled Code));; at org.apache.axis2.deployment.util.Utils.createClassLoader(Utils.java:684);; at au.gov.centrelink.jfs.proxy.axis2.ClientURLBasedAxisConfigurator.loadRepositoryFromURL(ClientURLBasedAxisConfigurator.java(Compiled Code));; at org.apache.axis2.deployment.URLBasedAxisConfigurator.getAxisConfiguration(URLBasedAxisConfigurator.java:72);; at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:60);; at au.gov.centrelink.jfs.proxy.ProxyFactory.createStub(ProxyFactory.java:699);; at au.gov.centrelink.jfs.proxy.ProxyFactory.createProxy(ProxyFactory.java:440);; at au.gov.centrelink.jfs.proxy.ProxyFactory.createProxy(ProxyFactory.java:395);; at au.gov.centrelink.jsf.pst.core.CDCCustomerEmailAddressTester2.execute(CDCCustomerEmailAddressTester2.java:64);; at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421);; at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226);; at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164);; at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415);; at javax.servlet.http.HttpServlet.service(HttpServlet.java:763);; at javax.servlet.http.HttpServlet.service(HttpServlet.java:856);; at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572);; at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521);; at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113);; at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82);; at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759);; at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:334);; at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056);; at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388);; at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231);; at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164);; at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415);; at javax.servlet.http.HttpServlet.service(HttpServlet.java:763);; at javax.servlet.http.HttpServlet.service(HttpServlet.java:856);; at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572);; at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521);; at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136);; at au.gov.centrelink.itsecurity.acs.web.SecureRequestFilter.doFilter(SecureRequestFilter.java:60);; at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142);; at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121);; at au.gov.centrelink.jaf.liser.api.WebRequestLiser.doFilter(WebRequestLiser.java:267);; at au.gov.centrelink.jaf.interceptor.core.JAFFilter.doFilter(JAFFilter.java:99);; at
Re: Getting an InvalidClassException in one of the JMS classes when deploying my webservices
Hi Raghu Although you do not state your environment clearly (its a good practice to do so in future), from what I can find out through the stack trace, you are using JBoss JMS? It seems like there is a difference in the JMS classes (JBoss) used at the Axis2 side and JBoss side.. probably a different JMS client library which is incompatible with your server. Can you verify if the client library works fine with a simple test without using Axis2? asankha Raghu Upadhyayula wrote: Hi, Im getting an InvalidClassException (stacktrace shown below) in one of the JMS classes when deploying my webservices, any one has any idea what the problem could be? Thanks Raghu javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.jms.client.delegate.DelegateSupport; local class incompatible: stream classdesc serialVersionUID = -1362079381836473747, local class serialVersionUID = -1723908125830723356] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:723) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:588) at javax.naming.InitialContext.lookup(InitialContext.java:351) at com.rsys.jms.JMSConnectionFactory.internalCreateConnFactory(JMSConnectionFactory.java:242) at com.rsys.jms.JMSConnectionFactory.createConnectionFactory(JMSConnectionFactory.java:179) at com.rsys.jms.JMSConnectionFactory.afterPropertiesSet(JMSConnectionFactory.java:120) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1202) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:428) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4359) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.apache.catalina.core.StandardContext.init(StandardContext.java:5310) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301) at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104) at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375) at org.jboss.web.WebModule.startModule(WebModule.java:83) at org.jboss.web.WebModule.startService(WebModule.java:61) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) at
Re: Axis2/Java: Share HTTP connection between multiple client stubs ?
Hi Raimund The default http/s client transport of Axis2 is based on the commons HttpClient. Please see the following links for some direct solutions for your issue. http://wso2.org/library/87 http://wso2.org/library/230 You may also find more articles through a search on the OxygenTank library. I know that Asankha has been working on a non-blocking HTTP client for Axis2 that re-uses connections. As I understand it this code is only in the Synapse release so far ( http://ws.apache.org/synapse). But I know there is a plan to get it into the core of Axis2. It is just an Axis2 transport so the code will work under Axis2. Asankha - am I right? Yes, the transport we developed for Synapse is tuned for a high throughput environment where you would actually gain from a non-blocking client implementation. Thus, if you just want to send a message and read its response, this transport is not right for you; as it will create an IO Reactor, a thread pool to handle the requests, and prepare to send multiple messages out reusing connections where applicable. We have plans to move this transport into Axis2, but the client side should be used with care for the above reasons. asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: FW: jms-WS-rm-jms
Hi Hugo I'm trying to create a complete reliable path from client to server application using JMS and WS-rm. I'm using Axis2 with sandesha and activeMQ. Something like this: Client appl==JMS==ClientWebservice==WS-rm==ServerWebservice==JMS==Server appl I just got it to work for a oneWay fireAndForget message, but my JMS messages are just of type MapMessage with key and value strings. We only support binary and text messages in the current implementation. How do I go about making the JMS messages soap/jms without the WS-rm parts in it? Cant you remove the WS-RM headers from the envelope, and then send the payload over JMS? Anyway, Apache Synapse is something I would strongly recommend that you look at. It will allow you to convert from HTTP/S to JMS or from RM to non-RM etc simply by configuration rather than writing code. (See http://svn.apache.org/viewvc/webservices/synapse/trunk/java/src/site/resources/Synapse_Samples.html?content-type=text%2Fhtmlview=co#Sample503) Synapse will release its 1.0 version, as soon as Sandesha2 and Rampart releases their versions compatible with Axis 1.2 More information on Synapse could be found from http://ws.apache.org/synapse/ Because I use a durable queue we don't need to add the WS-rm in the JMS/soap messages. I don't completely understand the axis manual about the JMS transport http://ws.apache.org/axis2/1_2/jms-transport.html I think it says that the webservice are only exposed over JMS so then the WS-rm parts are included ?? or not ? I don't completely understand what you mean by 'WS-RM parts included' :-) asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: jms-WS-rm-jms
hu dac wrote: i will look into synapse futher but google already came up with this from the mailling list: http://www.mail-archive.com/[EMAIL PROTECTED]/msg03422.html The date of the mail is Tue, 08 May 2007, its not yet long working in synapse. Yep, we got it working with the *latest* Sandesha2 SNAPSHOTS (that goes with Axis2 1.2) early this month. However, your conclusion w.r.t "its not yet long working in synapse" is wrong, as we supported WS-RM even before, for e.g. 0.91 release.. Date: Wed, 16 May 2007 13:52:56 +0530 From: [EMAIL PROTECTED] To: axis-user@ws.apache.org Subject: Re: FW: jms-WS-rm-jms Hi Hugo I'm trying to create a complete reliable path from client to server application using JMS and WS-rm. I'm using Axis2 with sandesha and activeMQ. Something like this: Client appl==JMS==ClientWebservice==WS-rm==ServerWebservice==JMS==Server appl I just got it to work for a oneWay fireAndForget message, but my JMS messages are just of type MapMessage with key and value strings. We only support binary and text messages in the current implementation. How do I go about making the JMS messages soap/jms without the WS-rm parts in it? Cant you remove the WS-RM headers from the envelope, and then send the payload over JMS? Anyway, Apache Synapse is something I would strongly recommend that you look at. It will allow you to convert from HTTP/S to JMS or from RM to non-RM etc simply by configuration rather than writing code. (See http://svn.apache.org/viewvc/webservices/synapse/trunk/java/src/site/resources/Synapse_Samples.html?content-type=text%2Fhtmlview=co#Sample503) Synapse will release its 1.0 version, as soon as Sandesha2 and Rampart releases their versions compatible with Axis 1.2 More information on Synapse could be found from http://ws.apache.org/synapse/ Because I use a durable queue we don't need to add the WS-rm in the JMS/soap messages. I don't completely understand the axis manual about the JMS transport http://ws.apache.org/axis2/1_2/jms-transport.html I think it says that the webservice are only exposed over JMS so then the WS-rm parts are included ?? or not ? I don't completely understand what you mean by 'WS-RM parts included' :-) asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Zoek veilig vanaf elke webpagina met deze Toolbar. Je kunt de gratis Windows Live Toolbar meteen downloaden! Probeer het nu! - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2: soap/jms question
Hi Shantanu At this point the axis2.war has just one service that gets generated by default with the build - version.aar. When I deployed the war on jboss, I see the following trace on the jboss console ... Is this the expected behavior? If so, then if we have jms transport enabled, every service deployed must explicitly set the transport mechanism in the services.xml? This means all the sample services that axis2 provides need to be modified since in most of them the services.xml does not contain any specific transport. Or should the behavior be that if no transport is specified in the services.xml then axis2 will assume that it is http by default? IMO this should be the expected behavior. I personally agree that your suggestion is valid. However, it is beyond the JMS transport and related closer to how Axis2 services are exposed over available transports. Could you post a new email thread on this to axis-dev and/or raise a JIRA for a wider discussion with the core Axis2 dev team? thanks asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2: soap/jms question
Hi Shantanu One issue that I am having now is that if I have multiple services deployed, for each of the services that do not have the transport specified in the services.xml, such as the version.aar, the code is assuming that enableAllTransports variable is true. I think this is the default Axis2 behavior and nothing specific to the JMS transport So, if I have another service deployed, say version.aar, that do not have any transport specific elements specified in the services.xml, the JMSListener line 122 code that checks to see if it is a JMS service as shown below, is returning true. What to you mean "another service..." do you have more than one version.aar file? or version.aar and version1.aar with different services.xmls? if so do they share the same service name? if (JMSUtils.isJMSService(service)) { processService(service); } I think the implementation of the above method is correct public static boolean isJMSService(AxisService service) { boolean process = service.isEnableAllTransports(); if (process) { return true; } else { List transports = service.getExposedTransports(); for (int i = 0; i transports.size(); i++) { if (Constants.TRANSPORT_JMS.equals(transports.get(i))) { return true; } } } return false; } The reason being that enableAllTransports in the AxisService is set to true for the Version service. I have enabled only one service explicitly to be jms using the services.xml and that service is being deployed fine and the JMSListener correctly configured for it. I would assume that all other services that do not specify any transport specific configurations in the services.xml, the code would would not try to enable it for all transports and it was working fine previously. Has anything changed in AxisService code that sets the enableAllTransports to be true by default? As a result of the above issue, the listener throws the following exception that is stopping JMSListener from listening to any queue at all. Note that it is trying to deploy the Version service as a JMS service as shown below, which is wrong. I do not think I correctly identify the issue you are raising.. could you verify this and post a JIRA so that we could discuss this issue on a new mail thread? I would try to attend to this sometime next week asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: CustomSSLSocketFactory combined with Axis2 - works once, but not several times?
Title: Meddelelse Try the debugging options here.. they may let you detect the problem if its related to SSL. Are you using two way authentication? http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#Debug asankha Peter Gylling Jrgensen wrote: Dear Mahesh, thanks for your answer, I think I must have the company running the server to look into the server log when I try to connect. I think it's rather strange too. I will return after that session. \pgj -Original Message- From: Mahesh Rachakonda [mailto:[EMAIL PROTECTED]] Sent: Thursday, April 12, 2007 5:39 PM To: [EMAIL PROTECTED] Subject: Re: CustomSSLSocketFactory combined with Axis2 - works once, but not several times? I tried to follow your code, and I am not sure why it is failing. I am using a custom SSLSocketFactory, wrap it as a SecureProtocolSocketFactory and registering a new Protocol much like you are doing. I am able to execute thousands of calls without any problems. Mahesh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re : Re : Re : [Axis2] Axis2 1.2 RC2 Released
Hi Julien As far as I know, an artifacts for RC releases have not been uploaded to the maven repos. What you would find in the m2-snapshot-repository are nightly build snapshots created off the 1.2 branch (i.e. if you are looking at version "1.2-SNAPSHOT") and the trunk (i.e. under "SNAPSHOT" version). I understand your concern, as I have a project dependent on Axis2 1.2 as well - and hence would suggest you point your pom to the 1.2-SNAPSHOT as its what will go into the 1.2 final release in the next few days. asankha Julien HENRY wrote: In http://people.apache.org/repo/m2-snapshot-repository/org/apache/axis2/axis2/ I have : 1.2-SNAPSHOT SNAPSHOT In http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/axis2/axis2/ I have : 1.1 In http://repo1.maven.org/maven2/org/apache/axis2/axis2/ I have : 1.1 1.1.1 Could you please help me to find 1.2-rc2? Thanks Julien - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2: soap/jms question
Shantanu Thanks for pointing out this issue, I was able to recreate the issue with JBoss and have checked in the fix to both the trunk and the 1.2 branch. asankha Asankha C. Perera wrote: Shantanu I am stuck with some JBoss problems.. I have downloaded and installed jboss-4.0.5.GA but am unable to locate the client JAR files that should be placed on Axis2 lib folder, the initial context class name, and url I should use etc. I am trying this out with a standalone Axis2 installation.. Could you let me know? asankha Shantanu Sen wrote: I did not write a program, but using Hermes JMS browser I can see the queue as shown in the attached gif. I think it is provider specific. Previously, the traces said that the listener is binding to QUEUE.requestQ, while now it is looking at the queue as QUEUE.queue/requestQ. I think jboss expects all queue jndi names start with queue/ and somehow in the previous code it was getting just the requestQ part and not it gets queue/requestQ and is getting confused (I am guessing here though). You might try with jboss and see if this is really an issue. Here is the jboss configuration file that needs to be dropped in the jms deploy directory e.g. jboss-4.0.5.GA\server\default\deploy\jms that will generate the queue. requestq-ds.xml- ?xml version="1.0" encoding="UTF-8"? server mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=requestQ" depends optional-attribute-name="DestinationManager"jboss.mq:service=DestinationManager/depends /mbean /server I did not change any of these settings and it was working fine with the previous snapshot. I'll try to dig into it further. Shantanu - Original Message From: Asankha C. Perera [EMAIL PROTECTED] To: axis-user@ws.apache.org Sent: Friday, March 30, 2007 1:53:33 PM Subject: Re: Axis2: soap/jms question Shantanu Yes, I have done some modifications.. but I do not see how it affects you configuration here. Your services.xml states "queue/requestQ" as the JNDI name: parameter name="transport.jms.Destination" locked="true"queue/requestQ/parameter and the log states: 12:04:31,626 WARN [JMSConnectionFactory] JMS Destination with JNDI name : queue/requestQ does not exist Can you write a small standalone JNDI lookup program to see if "queue/requestQ" is the correct JNDI name for your Queue and it is available? Or could it be the (provider specific) JMS Destination name instead of the JNDI name? If you are able to do the lookup - then its a bug within my changes and I would like to receive as much information on your configuration / setup to reproduce and identify the issue. asankha Shantanu Sen wrote: Asankha, Sorry my previous mail was not complete. After I pulled in code from the trunk today, the previous project with jms binding is not working. I think it has to do with the naming of the queue - I am running on JBOSS 4.0.5. Here is the relevant part of service.xml: parameter name="transport.jms.Destination" locked="true"queue/requestQ/parameter parameter name="transport.jms.ConnectionFactory" locked="true"ConnectionFactory/parameter This was working fine with the last build that I had (last Monday I think). But with the current build, I see this error on the JBOSS console when it starts up. If I remember correctly, previously it was searching for the destination as QUEUE.requestQ, but now it is QUEUE.queue/requestQ as shown below. Did you make any changes in the way the queue jndi name is being used? 12:04:31,626 WARN [JMSConnectionFactory] JMS Destination with JNDI name : queue /requestQ does not exist 12:04:31,907 ERROR [JMSConnectionFactory] Unable to create a Destination with JN DI name : queue/requestQ javax.jms.JMSException: This destination does not exist !QUEUE.queue/requestQ at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM anager.java:613) at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer InterceptorSupport.java:111) at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor .java:259) at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav a:117) at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke tManagerHandler.java:136) at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j ava:395) at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec Please let me know if need more info on this. Shantanu - Original Message From: Asankha C. Perera [EMAIL PROTECTED] To: axis-user@ws.apache.org Sent: Thursday, March 29, 2007 11:04:41 AM Subje
Re: Starting JMS Listener in AXIS2 deployed as webapp in a container...
Narayanan Yes, this is becoming a common question around JMS :-) Unfortunately the fix for this did not go into any of the current releases.. so you will either have to wait for the 1.2 release, or tweak the source and recompile. See messages with the subject "JMS" on axis-dev to see how to tweak the code asankha Narayanan, Ramesh wrote: Hi all, I want to start the JMS transport listeners when axis2 is deployed as a web application in Apache Tomcat. I checked for this in axis2 website but couldnt find any pages on it. The JMS transports are not started even when I configure the axis2.xml properly in the axis2\WEB-INF\conf directory. But JMS transport listener can be started when axis is started as a standalone server from %AXIS2_HOME%\bin\axis2server.bat (http://ws.apache.org/axis2/1_1_1/jms-transport.html). Any ideas??? Thanks Ramesh - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2: soap/jms question
Hi Shantanu I pulled the code from the trunk yesterday and now jms binding is working fine on jboss. Thanks for the fix. Cool! Sorry for the delay in responding to this, as I was actually fixing the below mentioned issue lately 1. Is there a way to specify the temporary queue jndi name for blocking calls using the jms transport? Yes, now there is. See https://issues.apache.org/jira/browse/AXIS2-2266 and the fix is available on the trunk 2. For non-blocking two way operations how can we specify that the response should be published to a separate queue? I did not try this, but if I set the wsa:replyTo from the client, with a jms specific url that specifies the response queue jndi name, will the service pick this up from the wsa:replyTo and publish the response to this queue using the specified url? Yes, See https://issues.apache.org/jira/browse/AXIS2-2266 I would be grateful if you could independently verify this fix using the latest code from trunk, so that I could merge it into the 1.2 branch ASAP to get into the next release asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2 JMS samples?
Still.. you haven't confirmed this from my previous email: I assume you are running a standalone client against your JMS web service echo. However it seems like your echo service is not correctly deployed for JMS. Can you confirm that the JMS transport has started in your Axis2 deployment on Tomcat? You should see an "[INFO] JMS Transport Receiver (Listener) initialized..." if it has. Your JMS transport doesn't seem like it started properly.. do you see the above log message on your Axis2 when it starts? asankha lee hanu wrote: I am now trying to get this thing to work against the Axis2 standalone server. I am still getting the same exception. I am still using Axis2 1.1.1. So I turned the debug on using LOG4J and this part of the logging messages. Hope this helps to figure out my problem. My guess is that my client program is able to establish a connection to ActiveMQ but it is not getting any response. Also I attached the Simple Client I am using to test the JMS stuff. Thanks [DEBUG] 55:22 (JMSSender.java:invoke:49)JMSSender invoke() [ WARN] 55:22 (JMSOutTransportInfo.java:getDestination:108)Cannot get or lookup JMS destination : echo from url : jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url="" : echo [DEBUG] 55:23 (WireFormatNegotiator.java:start:71)Sending: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=3, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:102)Received WireFormat: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=3, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:109)tcp://localhost/127.0.0.1:61616 before negotiation: OpenWireFormat{version=2, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:120)tcp://localhost/127.0.0.1:61616 after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false} [DEBUG] 55:24 (StAXUtils.java:createXMLStreamWriter:205)XMLStreamWriter is com.ctc.wstx.sw.SimpleNsStreamWriter [DEBUG] 55:24 (JMSSender.java:invoke:126)[Client]Sending message to destination : queue://echo [DEBUG] 55:24 (ActiveMQSession.java:send:1542)Sending message: ActiveMQTextMessage {commandId = 0, responseRequired = false, messageId = ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1:1, destination = queue://echo, transactionId = null, expiration = 0, timestamp = 1175007324093, arrival = 0, correlationId = null, replyTo = temp-queue://ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1, persistent = true, type = null, priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = true, readOnlyBody = true, droppable = false, text = ?xml version='1.0' encoding='utf-8'?soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"soapenv:Header /soapenv:BodyechoString:echoString xmlns:echoString=" http://echo/jms/samples/axis2/apache/org"echoString:TextIsaac Asimov, The Foundation Trilogy/echoString:Text/echoString:echoString/soapenv:Body/soapenv:Envelope} [DEBUG] 55:24 (JMSSender.java:invoke:147)Waiting for a maximum of 3ms for a response message to destination : temp-queue://ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1 asankha wrote: Yes, I think there was some confusion as to which build the patch for the particular JIRA went in.. so could you try with the 1.2 RC1 or the latest nighly build and let me know? The information in the general JMS transport configuration should suffice for you to get it started asankha lee hanu wrote: Thanks Asanka, I don't see the INFO message for tomcat. I am using Tomcat 5.5(not the axis2 standalone). I am doing this against axis2 1.1.1. Do I have to use the latest nightlies for this to work? Can I use Axis2 1.2 RC1? Thanks asankha wrote: I assume you are running a standalone client against your JMS web service echo. However it seems like your echo service is not correctly deployed for JMS. Can you confirm that the JMS transport has started in your Axis2 deployment on Tomcat? You should see an "[INFO] JMS Transport Receiver (Listener) initialized..." if it has. If you do not see this message, please read
Re: Axis2 JMS samples?
Ok cool.. so now it seems like you are trying to reach a service through the Queue 'echo' but I am not sure if a service is deployed against that Queue. Could you share the services.xml of the 'echo' service? I can see the 'Version', 'MyService' and 'WsaMappingTest' starting up... asankha lee hanu wrote: Yes it has started. I am now using the Axis2 standalone server and I am using Axis2 1.1.1. The follwoing is the console display. Mar 27, 2007 11:08:55 AM org.apache.axis2.transport.http.server.DefaultConnectionListener run INFO: Listening on port 8080 Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSListener init INFO: JMS Transport Receiver (Listener) initialized... Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : myTopicConnectionFactory initialized... Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : myQueueConnectionFactory initialized... Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSConnectionFactory listenOnDestination WARNING: Cannot find destination : Version Creating a Queue with this name Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSConnectionFactory listenOnDestination WARNING: Cannot find destination : WsaMappingTest Creating a Queue with this name Mar 27, 2007 11:08:56 AM org.apache.axis2.transport.jms.JMSConnectionFactory listenOnDestination WARNING: Cannot find destination : MyService Creating a Queue with this name Mar 27, 2007 11:08:57 AM org.apache.axis2.transport.jms.JMSConnectionFactory listen INFO: Connection factory : default initialized... Mar 27, 2007 11:08:57 AM org.apache.axis2.transport.SimpleAxis2Server main INFO: [SimpleAxisServer] Started asankha wrote: Still.. you haven't confirmed this from my previous email: I assume you are running a standalone client against your JMS web gt; service echo. However it seems like your echo service is not correctly gt; deployed for JMS. gt; gt; Can you confirm that the JMS transport has started in your Axis2 gt; deployment on Tomcat? You should see an "[INFO] JMS Transport Receiver gt; (Listener) initialized..." if it has. Your JMS transport doesn't seem like it started properly.. do you see the above log message on your Axis2 when it starts? asankha lee hanu wrote: I am now trying to get this thing to work against the Axis2 standalone server. I am still getting the same exception. I am still using Axis2 1.1.1. So I turned the debug on using LOG4J and this part of the logging messages. Hope this helps to figure out my problem. My guess is that my client program is able to establish a connection to ActiveMQ but it is not getting any response. Also I attached the Simple Client I am using to test the JMS stuff. Thanks [DEBUG] 55:22 (JMSSender.java:invoke:49)JMSSender invoke() [ WARN] 55:22 (JMSOutTransportInfo.java:getDestination:108)Cannot get or lookup JMS destination : echo from url : jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryamp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;java.naming.provider.url="" : echo [DEBUG] 55:23 (WireFormatNegotiator.java:start:71)Sending: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=3, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:102)Received WireFormat: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=3, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:109)tcp://localhost/127.0.0.1:61616 before negotiation: OpenWireFormat{version=2, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false} [DEBUG] 55:23 (WireFormatNegotiator.java:onCommand:120)tcp://localhost/127.0.0.1:61616 after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false} [DEBUG] 55:24 (StAXUtils.java:createXMLStreamWriter:205)XMLStreamWriter is com.ctc.wstx.sw.SimpleNsStreamWriter [DEBUG] 55:24 (JMSSender.java:invoke:126)[Client]Sending message to destination : queue://echo [DEBUG] 55:24 (ActiveMQSession.java:send:1542)Sending message: ActiveMQTextMessage {commandId = 0, responseRequired = false, messageId = ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1:1:1, originalDestination = null, originalTransactionId = null, producerId = ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1:1, destination = queue://echo, transactionId = null, expiration = 0, timestamp = 1175007324093, arrival = 0, correlationId = null, replyTo = temp-queue://ID:UNIVERSI-D25BF5-3730-1175007323030-1:0:1, persistent = true, type =
Re: Axis2 JMS samples?
I assume you are running a standalone client against your JMS web service echo. However it seems like your echo service is not correctly deployed for JMS. Can you confirm that the JMS transport has started in your Axis2 deployment on Tomcat? You should see an "[INFO] JMS Transport Receiver (Listener) initialized..." if it has. If you do not see this message, please read https://issues.apache.org/jira/browse/AXIS2-1488 Also let me know if you are trying this on the latest trunk or on a release - if so which version asankha lee hanu wrote: I did all the steps mentioned in the JMS axis2 tutorial. I get the following exception. Any suggestions what I am doing wrong here. I am using Tomcat 5.5 and ActiveMQ. Do I need to do any additional configuration in the tomcat other than the steps mentioned in the Axis2 JMS User Guide. WARNING: Cannot get or lookup JMS destination : echo from url : jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url="" : echo Mar 26, 2007 2:41:54 PM org.apache.axis2.transport.jms.JMSSender invoke WARNING: Did not receive a JMS response within 3 ms to destination : queue://echo org.apache.axis2.AxisFault: Incoming message input stream is null at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:64) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:252) at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) at org.apache.axis2.samples.jms.echo.ClientOne.main(ClientOne.java:34) Thanks lee hanu wrote: Sumedha, Thanks for the step by step explanation. That was helpful but that was not exactly what I was looking for. I am looking for a working JMS sample. Thanks sumedha rubasinghe wrote: Hi, Try the following steps.(All these are mentioned in the url you mentioned, but check see if you have missed anything ;-) ) 1.Download start ActiveMQ from apache.(Do not change default ports) 2.Open AXIS2_HOME/conf/axis2.xml 3.Uncomment transport receiver part for JMS. i.e. section starting with... transportReceiver name="jms" 4.Uncomment line setting transport sender for JMS. i.e. line starting with transportSender name="jms" 5.Start Axis Server by running AXIS2_HOME/bin/axis2server.(bat|sh) (If you get a binding exception,change the port of axis server) 6.Type 'jconsole' on a new command/shell window. (i.e. assuming your using jdk 1.5 JAVA_HOME/bin is in your path) 7.This will open up a GUI. 8.On left hand side of the UI check for jms queues created with service names you have deployed under axis2. 9.Once the queues are there(this means the link between the axis server JMS server is established),change you client code with following. String url = ""; //Replace ABCDE with you service name. //and add following property to client options.setProperty(Constants.Configuration.TRANSPORT_URL, url); 10.Add ACTIVEMQ_HOME/lib/*.jar to classpath run the client. Good luck! Happy messaging with JMS ;-) /sumedha Are there any samples for JMS with Axis2. Also can some one point some useful links on this topic. I could not find anything other than the http://ws.apache.org/axis2/1_1_1/jms-transport.html Axis2/Java - JMS transport. Thanks Nishant -- View this message in context: http://www.nabble.com/Axis2-JMS-samples--tf3449408.html#a9621016 Sent from the Axis - User mailing list archive at Nabble.com. - 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: Axis2 JMS samples?
Yes, I think there was some confusion as to which build the patch for the particular JIRA went in.. so could you try with the 1.2 RC1 or the latest nighly build and let me know? The information in the general JMS transport configuration should suffice for you to get it started asankha lee hanu wrote: Thanks Asanka, I don't see the INFO message for tomcat. I am using Tomcat 5.5(not the axis2 standalone). I am doing this against axis2 1.1.1. Do I have to use the latest nightlies for this to work? Can I use Axis2 1.2 RC1? Thanks asankha wrote: I assume you are running a standalone client against your JMS web service echo. However it seems like your echo service is not correctly deployed for JMS. Can you confirm that the JMS transport has started in your Axis2 deployment on Tomcat? You should see an "[INFO] JMS Transport Receiver (Listener) initialized..." if it has. If you do not see this message, please read https://issues.apache.org/jira/browse/AXIS2-1488 Also let me know if you are trying this on the latest trunk or on a release - if so which version asankha lee hanu wrote: I did all the steps mentioned in the JMS axis2 tutorial. I get the following exception. Any suggestions what I am doing wrong here. I am using Tomcat 5.5 and ActiveMQ. Do I need to do any additional configuration in the tomcat other than the steps mentioned in the Axis2 JMS User Guide. WARNING: Cannot get or lookup JMS destination : echo from url : jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactoryamp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryamp;java.naming.provider.url="" : echo Mar 26, 2007 2:41:54 PM org.apache.axis2.transport.jms.JMSSender invoke WARNING: Did not receive a JMS response within 3 ms to destination : queue://echo org.apache.axis2.AxisFault: Incoming message input stream is null at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:64) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:252) at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) at org.apache.axis2.samples.jms.echo.ClientOne.main(ClientOne.java:34) Thanks lee hanu wrote: Sumedha, Thanks for the step by step explanation. That was helpful but that was not exactly what I was looking for. I am looking for a working JMS sample. Thanks sumedha rubasinghe wrote: Hi, Try the following steps.(All these are mentioned in the url you mentioned, but check amp; see if you have missed anything ;-) ) 1.Download amp; start ActiveMQ from apache.(Do not change default ports) 2.Open lt;AXIS2_HOMEgt;/conf/axis2.xml 3.Uncomment transport receiver part for JMS. i.e. section starting with... lt;transportReceiver name="jms" 4.Uncomment line setting transport sender for JMS. i.e. line starting with lt;transportSender name="jms" 5.Start Axis Server by running lt;AXIS2_HOMEgt;/bin/axis2server.(bat|sh) (If you get a binding exception,change the port of axis server) 6.Type 'jconsole' on a new command/shell window. (i.e. assuming your using jdk 1.5 amp; lt;JAVA_HOMEgt;/bin is in your path) 7.This will open up a GUI. 8.On left hand side of the UI check for jms queues created with service names you have deployed under axis2. 9.Once the queues are there(this means the link between the axis server amp; JMS server is established),change you client code with following. String url = ""; //Replace lt;ABCDEgt; with you service name. //and add following property to client options.setProperty(Constants.Configuration.TRANSPORT_URL, url); 10.Add lt;ACTIVEMQ_HOMEgt;/lib/*.jar to classpath amp; run the client. Good luck! Happy messaging with JMS ;-) /sumedha Are there any samples for JMS with Axis2. Also can some one point some useful links on this topic. I could not find anything other than the http://ws.apache.org/axis2/1_1_1/jms-transport.html Axis2/Java - JMS transport. Thanks Nishant -- View this message in context: http://www.nabble.com/Axis2-JMS-samples--tf3449408.html#a9621016 Sent from the Axis - User mailing list archive at Nabble.com. - 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: Axis2: soap/jms question
Hi Shantanu 17:12:30,812 ERROR [JMSMessageReceiver] JMS Worker [JMSWorker-1] Encountered an Axis Fault : The [action] cannot be processed at the receiver. org.apache.axis2.AxisFault: The [action] cannot be processed at the receiver. at org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingF ault(AddressingFaultsHelper.java:346) at org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionNotSu pportedFault(AddressingFaultsHelper.java:311) at org.apache.axis2.handlers.addressing.AddressingValidationHandler.chec kAction(AddressingValidationHandler.java:137) at org.apache.axis2.handlers.addressing.AddressingValidationHandler.invo ke(AddressingValidationHandler.java:50) at org.apache.axis2.engine.Phase.invoke(Phase.java:383) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:203) ... On investigating, it seems that the AddressValidationHandler.checkAction will always throw this exception as the following code indicated if the operation and service values are null. --- if ((msgContext.getAxisService() == null) || (msgContext.getAxisOperation() == null)) { AddressingFaultsHelper .triggerActionNotSupportedFault(msgContext, msgContext.getWSAAction()); } Now here is the envelope that is generated by the stub and published in the JMS message: --- ?xml version=1.0 encoding=utf-8? soapenv:Header wsa:Tojms:/queue/requestQ?transport.jms.ConnectionFactoryJNDIName=ConnectionFactoryamp;java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryamp;java.naming.provider.url=jnp://localhost:1099/wsa:To wsa:ReplyTo http://www.w3.org/2005/08/addressing/anonymous /wsa:ReplyTo wsa:MessageIDurn:uuid:6EE9E1632283F7F99D1174613253567/wsa:MessageID wsa:Actionurn:getPrice/wsa:Action /soapenv:Header soapenv:Body ns1:symbolMSFT/ns1:symbol /ns1:getPrice /soapenv:Body /soapenv:Envelope -- I also noted that previous to invoking the handlers in the dispatch phase (i.e. in the pre-dispatch phase), the AddressingInHandler successfully parses the wsa:Action info from the soap headers. Should'nt this be responsible for setting the operation (getPrice) in this case? I tried to find out why the messageContext was not getting filled with the serviceName. It seems that in JMSMessageReceiver.createMessageContext, it looks for the servicename based on the destinationName as shown in the following code: -- Destination dest = message.getJMSDestination(); String destinationName = null; if (dest instanceof Queue) { destinationName = ((Queue) dest).getQueueName(); } else if (dest instanceof Topic) { destinationName = ((Topic) dest).getTopicName(); } String serviceName = jmsConFac.getServiceNameForDestination(destinationName); --- However, the destination name in this case (JBOSS MQ) is 'requestQ'. Note that the services.xml contains the following as the parameter: parameter name=transport.jms.Destination locked=truequeue/requestQ/parameter And the JMSConnectionFactory stores the mapping as follows in the destinations variable: {queue/requestQ=StockQuoteService} Hence the serviceName is returned as null since JBOSS returns requestQ and not queue/requestQ as the destination name. You are spot on correct in your analysis, and earlier this week I committed a patch that would fix the above, but unfortunately had to revert it back due to unit test failures as I didn't have time to investigate it due to commitments on Apache Synapse. I will promise to commit this patch with proper testing over this weekend and I think you could test it early next week and give me first hand feedback asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis2: soap/jms question
Hi Shantanu I have followed the JMS transport doc (http://people.apache.org/~thilina/axis2/docs/jms-transport.html) and modified the services.xml of the stockquoteservice as follows Ok, I guess its the same as the official doc found at http://ws.apache.org/axis2/1_1/jms-transport.html ... transports transportjms/transport /transports messageReceivers class=org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/ class=org.apache.axis2.rpc.receivers.RPCMessageReceiver/ /messageReceivers http://quickstart.samples/xsd/ parameter name=ServiceClasssamples.quickstart.service.pojo.StockQuoteService/parameter parameter name=transport.jms.Destination locked=truequeue/requestQ/parameter parameter name=transport.jms.ConnectionFactory locked=trueQueueConnectionFactory/parameter ... I have also modified axis2.xml with the relevant JBoss configurations: === ... transportReceiver name=jms class=org.apache.axis2.transport.jms.JMSListener parameter name=myQueueConnectionFactory locked=false parameter name=java.naming.factory.initial locked=falseorg.jnp.interfaces.NamingContextFactory/parameter parameter name=java.naming.provider.url locked=falsejnp://localhost:1099/parameter parameter name=transport.jms.ConnectionFactoryJNDIName locked=falseConnectionFactory/parameter /parameter .. === The above is incorrect, for the service you are asking it to use the connection factory definition of Axis2 under the name myQueueConnectionFactory but the entry name specified under Axis2 is ConnectionFactory. Firstly, once I deployed this I did not see any indication that the JMSListener has been started. I saw that there was an issue with starting of non-http transports for the embedded axis as described in https://issues.apache.org/jira/browse/AXIS2-1488, which is now resolved. Did this fix make it's way to the 1.1.1 version? Not sure, as the fix version is not specified in the bug entry when it was closed :-( If the above bug is still not resolved in the 1.1.1 version, are there any workarounds to start the JMSListener for an embedded axis2 instance? If you downloaded the source distribution or applied the patch attached to the JIRA to the code and rebuild that may be a solution... Secondly, once I deployed the service (stockquoteservice.aar), I obtained a strange WSDL from http://localhost:8080/axis2/services/StockQuoteService?wsdl. A part of the WSDL is shown below. Note that the transport is still http and the service ports are not generated. Note that in the services.xml I have specifically mentioned only the jms transport. So, why are the soap bindings still generated in the wsdl? Looks like a bug to me. Since JMS configuration was incorrect and the transport didn't start in your environment, I suggest that you look at this issue once those are fixed, as then this may also work asankha === wsdl:binding name=StockQuoteServiceHttpBinding type=axis2:StockQuoteServicePortType http:binding verb=POST / - wsdl:operation name=update http:operation location=update / + wsdl:input mime:content type=text/xml / /wsdl:input /wsdl:operation - wsdl:operation name=getPrice http:operation location=getPrice / - wsdl:input mime:content type=text/xml / /wsdl:input - wsdl:output mime:content type=text/xml / /wsdl:output /wsdl:operation /wsdl:binding wsdl:service name=StockQuoteService / /wsdl:definitions Thirdly, the WSDL that the jms client will be using - do we need to generate is manually? I understand the jms destination URLwill need to be added manually to the stub, but I was hoping to get a partial WSDL generated. When I try to do a wsdl2java on the generated wsdl from the above service, it throws an NPE. Any pointers regarding the basic steps of running soap/jms on an embedded axis2 installation will be of great help. If I can remember, I think someone posted some information on this to the mailing lists some time back .. maybe you could search the archives.. else the solution is to write or update the code to start the JMS transport Thanks, Shantanu Sen - 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: HTTP-JMS proxy for one-way messages (JMSSender bug?)
Hi Gerald Has anyone successfully used JMSSender for one-way messages? My set-up is really simple: --- proxy name=proxy transports=http target endpoint=jms_endpoint / wsdl key=wsdl_with_one_way_op / /proxy --- The only special thing is that the operation defined in the WSDL and invoked by the client is one-way (an in-only MEP). The problem here is that you do not define to Synapse which operation to invoke with the WSDL, or if its IN only or IN-OUT. I guess we could specify this within the endpoint definition, or maybe even set the replyTo header to none to indicate that the message is not expecting a reply? I experience that a one-way message (to an in-only MEP) that is sent to a JMS destination via JMSSender causes JMSSender to wait for a response message on a reply queue. Of course this does not make sense, and indeed the blocking JMS receive of that reply message ultimately times out with this error: --- DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke() DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to destination : TOPIC.T_INT_CLIENT_EVT DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 3ms for a response message to destination : QUEUE.JMS_TQ3 WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response within 3 ms to destination : TOPIC.T_INT_CLIENT_EVT --- Very briefly looking at the code for org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems that JMSSender sets the flag waitForResponse to true regardless of whether the messages is one-way (to an in-only MEP) or not. Can anybody confirm my understanding of the behaviour of JMSSender? Yes, you are correct. It is time we updated the JMS transport with the current open issues. asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: SOAP over JMS setting the replyTo queue
Hi Stuart As John stated, this is an enhancement we are addressing.. I would suggest that all users interested in JMS as a transport provide feedback on the following: http://mail-archives.apache.org/mod_mbox/ws-axis-dev/200701.mbox/[EMAIL PROTECTED] We could make fixes for the current issues faced in the mean time, but I would like to enhance our JMS implementation to be in sync with that asankha Turner, John wrote: I concur. You always have the option of enhancing the JMSSender class. I started to do this but could not figure if I was using the client side configuration correctly. Maybe, on the generated client stub you could do stub._getServiceClient().getServiceContext().setProperty( "transport.jms.ReplyTo", "myQueueJNDIName"); Then within JMSSender.invoke check for this property and if it is set use the specified queue as opposed to the temporary queue. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: 12 March 2007 12:15 To: axis-user@ws.apache.org Subject: RE: SOAP over JMS setting the replyTo queue Hi John, Thanks for that. That's really disappointing though. Given that I am using the JMS api to transmit a SOAP request, you would think that it would have the full capability of JMS to be able to set your replyTo queue. I am finding this really vexing. We use static reply queues very heavily so it is a key requirement that a SOAP engine such as Axis should support this. I don't mind that Axis uses temp queues by default, but at least give the developer the option to override and use a perm queue instead. Cheers, Stuart "Turner, John" [EMAIL PROTECTED] 12/03/2007 12:00 Please respond to axis-user To: axis-user@ws.apache.org cc: Subject: RE: SOAP over JMS setting the replyTo queue See http://issues.apache.org/jira/browse/AXIS2-2266 Axis2 1.1.1 always creates a temporary queue for the response message (within JMSSender.invoke()) From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: 12 March 2007 11:31 To: axis-user@ws.apache.org Subject: SOAP over JMS setting the replyTo queue Hi there, I am attemtping to use the JMS transport mechanism to deliver a SOAP message. I am doing this by generating a proxy class through the WSDL2Java tool as my main aim is to use WSDLs to document and publish our services. This approach works up to the point of putting a message on a queue. This I have done, but to engineer a reply has proven difficult. A typical URI that I would use for my jms "protocol" would be: soap:address location="jms:/queue?destination=STUART.INamp;connectionFactory=myQCFamp;initialContextFactory=com.sun.jndi.fscontext.RefFSContextFactoryamp;timeout=5000amp;targetService=Product_Version_V002JMS_SOAP_Serviceamp;initialContextFactory=com.sun.jndi.fscontext.RefFSContextFactoryamp;jndiProviderURL=file:/h://bindingsamp;replyDestination=STUART.REPLY"/ As you can see I am attempting to set the replyTo queue, which is a standard JMS operation. However, I can't seem to find any reference to this parameter and what the correct semantics are for using it. Can anyone tell me if they have set a replyTo queue in such a URI? I find it strange that the Axis API does not have a JMSConstant for the reply to field. Can anyone enlighten me about this? Thanks, Stuart Stuart Bell eCommerce Application Architect AEGON UK Tel: 0131 549 3553 Email: [EMAIL PROTECTED] http://www.aegonse.co.uk Scottish Equitable plc Edinburgh Park Edinburgh EH12 9SE Registered in Scotland (No. 144517) Authorised and regulated by the Financial Services Authority Member of the AEGON Group AEGON Scottish Equitable and AEGON Trustee Solutions are brand names used by Scottish Equitable plc. For contact information, visit http://www.aegonse.co.uk/contact EMAIL DISCLAIMER This message is confidential and intended only for the person it's addressed to. If you have been sent it in error and should not have received it, please email it back to the sender and delete it and any copies of it straight away. We may monitor all electronic communications that go through our networks for security and for checking legal, regulatory and professional standards. If you get in touch with us by email, we may keep a record of your name and email address. We don't accept service by Email of court proceedings, other proceedings or formal notices of any kind unless we've agreed to this specifically beforehand in writing. We take care not to send viruses or other malicious software in our emails but like any net user we cannot guarantee that all the communications we send electronically are free from such
Re: Axis JMS Response Queue
Hi John This is not possible in the current version of the JMS transport - but is a valid enhancement request of much importance. Could you raise a JIRA for this? Also, this implies that the response would then be received by another service, configured to listen on that permanent queue - as a new message, but with a transport header about the correlation ID. asankha Turner, John wrote: I have created an axis service and deployed it with a jms transport. This works fine with ActiveMQ as it looks like the ReplyTo attribute is set to reply to a temporary queue by the generated client stub classes. I would like to be able to specify a permanent queue as a reply to queue. Is there a way to do this in the service.xml file? -- This is a confidential communication and is intended only for the addressee indicated in the message (or duly authorised to be responsible for the delivery of the message to such person). You are specifically prohibited from copying this message or delivering the same, or any part thereof, to any other person, whomsoever or howsoever, unless you receive written authorisation from us to do. If you are anyone other than the intended addressee, or person duly authorised and responsible for the delivery of this message to the intended addressee, you should destroy this message and notify us immediately. Please note that we accept no responsibility whatsoever in the event that this message or any other email message or any part thereof becomes known or is communicated to anyone other than the intended recipient or other person authorised in writing by us to receive it, howsoever arising and disclaim all liability for any losses or damage which may be sustained by any person as a result thereof. Irish Life Assurance plc (trading as Irish Life) is regulated by the Financial Regulator. == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis JMS Response Queue
Hi John I am not familiar with the code of Axis(1) you are referring to, but you would be most welcome if you wish to work on this enhancement for Axis2 asankha Turner, John wrote: Hi Asankha, I have created the issue at http://issues.apache.org/jira/browse/AXIS2-2266. I implemented this functionality previously with Apache Axis through a custom transport and inserting code into the client stubs during the build process. I was hoping it would be part of Axis 2 as not all Messaging servers/Messaging proxies support the temporary queues used currently in Axis 2. Regards John From: Asankha C. Perera [mailto:[EMAIL PROTECTED]] Sent: 27 February 2007 15:44 To: axis-user@ws.apache.org Subject: Re: Axis JMS Response Queue Hi John This is not possible in the current version of the JMS transport - but is a valid enhancement request of much importance. Could you raise a JIRA for this? Also, this implies that the response would then be received by another service, configured to listen on that permanent queue - as a new message, but with a transport header about the correlation ID. asankha Turner, John wrote: I have created an axis service and deployed it with a jms transport. This works fine with ActiveMQ as it looks like the ReplyTo attribute is set to reply to a temporary queue by the generated client stub classes. I would like to be able to specify a permanent queue as a reply to queue. Is there a way to do this in the service.xml file? -- This is a confidential communication and is intended only for the addressee indicated in the message (or duly authorised to be responsible for the delivery of the message to such person). You are specifically prohibited from copying this message or delivering the same, or any part thereof, to any other person, whomsoever or howsoever, unless you receive written authorisation from us to do. If you are anyone other than the intended addressee, or person duly authorised and responsible for the delivery of this message to the intended addressee, you should destroy this message and notify us immediately. Please note that we accept no responsibility whatsoever in the event that this message or any other email message or any part thereof becomes known or is communicated to anyone other than the intended recipient or other person authorised in writing by us to receive it, howsoever arising and disclaim all liability for any losses or damage which may be sustained by any person as a result thereof. Irish Life Assurance plc (trading as Irish Life) is regulated by the Financial Regulator. == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- This is a confidential communication and is intended only for the addressee indicated in the message (or duly authorised to be responsible for the delivery of the message to such person). You are specifically prohibited from copying this message or delivering the same, or any part thereof, to any other person, whomsoever or howsoever, unless you receive written authorisation from us to do. If you are anyone other than the intended addressee, or person duly authorised and responsible for the delivery of this message to the intended addressee, you should destroy this message and notify us immediately. Please note that we accept no responsibility whatsoever in the event that this message or any other email message or any part thereof becomes known or is communicated to anyone other than the intended recipient or other person authorised in writing by us to receive it, howsoever arising and disclaim all liability for any losses or damage which may be sustained by any person as a result thereof. Irish Life Assurance plc (trading as Irish Life) is regulated by the Financial Regulator. == - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2]: Unable to process response message on JMS queue after client restart
Hi Afroz I need more information on this. Is it possible for you to share your client code? On the server side, I am assuming you are talking to an Axis2 JMS service - or is it something else which reads the JMS request off a queue and places another (new) JMS response back to another queue - using JMS correlation id's in sync? asankha Afroz Ahmed wrote: Hmm No response. I would have thought that this is a common problem. Apache WSIF (Web Services Invocation Framework) has a concept of CorrelationService that lets you save the operation, possibly in a database and retrieve it later, thus allowing you to map the request and response. Is there nothing of the same nature in Axis2. Thanks Afroz From: Afroz Ahmed [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 21, 2007 11:07 AM To: axis-user@ws.apache.org Subject: [Axis2]: Not able to process response message on JMS queue after client restart Hi We have a scenario where the service requester sends a message on a queue and the service processing takes a significant amount of time. The client is not expected to keep running all this time and can be stopped and restarted. When the client comes back up, it picks up the processed message (if any) from the response queue. However what is happening is that WS-Addressing module does not find a corresponding operation context and throws the following exception: SEVERE: JMS Worker [JMSWorker-1] Encountered an Axis Fault : The [action] cannot be processed at the receiver. org.apache.axis2.AxisFault: The [action] cannot be processed at the receiver. at org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(AddressingFaultsHelper.java:150) at org.apache.axis2.addressing.AddressingFaultsHelper.triggerActionNotSupportedFault(AddressingFaultsHelper.java:125) at org.apache.axis2.handlers.addressing.AddressingWSDLValidationHandler.checkAction(AddressingWSDLValidationHandler.java:109) at org.apache.axis2.handlers.addressing.AddressingWSDLValidationHandler.invoke(AddressingWSDLValidationHandler.java:39) at org.apache.axis2.engine.Phase.invoke(Phase.java:382) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:522) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:487) at org.apache.axis2.transport.jms.JMSMessageReceiver$Worker.run(JMSMessageReceiver.java:198) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Unknown Source) Does anybody have an idea if there is a way to overcome this problem? Thanks Afroz - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: WS Addressing :: Axis2 :: JMS Webs ervice lookup issues
The Axis2 JMS implementation has been tested with ActiveMQ during development, but should work with any JMS implementation as long as the proper JARs are provided to the Axis2 runtime, and the proper JNDI configurations are given - as the implementation is JMS provider independent. I think this is already evident from some of the user experiences related to Tibco, Sonic etc. So Vaibhav, I do not understand what you mean here: java.naming.provider.url="" etcnow as given in my examples its usually tcp://localhost:port and thn tcp is configured in axis2.xml Whatever appears as the JNDI provider url has absolutely no connection with the Axis2 transports! Hence in the above example "iiop://localhost..." would only be meaningful to perform the JNDI lookup to obtain the initial context from which JMS destinations etc are looked up - and this would be used by the class that is specified by the "java.naming.factory.initial" property. Your application server / JMS provider must provide you the JNDI url and the initial context factory class. In the example below: jms:/Topic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=""> It would be the "org.apache.activemq.jndi.ActiveMQInitialContextFactory" class that actually uses the "tcp://localhost:61616" url to perform the JNDI lookup. The URL being tcp:// ..iiop:// t3:// has no relevance with the Axis2 transports hope this will help clear things out asankha Spies, Brennan wrote: Axis 2.0 currently supports the JNDI lookup model, with the client invocation looking something like: jms:/Topic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactoryjava.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactoryjava.naming.provider.url=""> The full documentation is in Subversion, /xdocs/1_1/jms-transport.html. The docs seems to indicate that it has been tested (only?) with ActiveMQ, but Ive used it with Tibco EMS as well. InitialContext is used to get both the ConnectionFactory and Destination. Brennan Spies Sr. Programmer Analyst Shared Application Services -Original Message- From: Brian De Pradine [mailto:[EMAIL PROTECTED]] Sent: Tuesday, October 24, 2006 10:27 AM To: axis-user@ws.apache.org Cc: [EMAIL PROTECTED] Subject: RE: WS Addressing :: Axis2 :: JMS Webs ervice lookup issues Hello Vaibhav, I would have responded earlier, but I was out last week. Anyway, I recall from one of your earlier emails that you were using WebSphere to host your JMS web service. If this is the case, then you may be able to use the new client here [1] to access it. This client runs in a J2SE environment, and supports things like JNDI look up. Do note, however, that I am not sure whether the JMS support in Axis2 will work with this client. I believe that it was only tested with ActiveMQ, but I could be wrong :-) [1] http://www-1.ibm.com/support/docview.wss?uid=swg24012804 Cheers Brian DePradine Web Services Development IBM Hursley External +44 (0) 1962 816319 Internal 246319 If you can't find the time to do it right the first time, where will you find the time to do it again? "Vaibhav Pandey" [EMAIL PROTECTED] wrote on 16/10/2006 06:05:19: Hi, I am trying to forward reply from the destination WS to another WS(actually a JMS WS) using WS Addressing. For this i need to specify various configurations like: java.naming.provider.url="" etcnow as given in my examples its usually tcp://localhost:port and thn tcp is configured in axis2.xml Now as i can see in the axis2.xml file there are configurations for tcp but not for iiop.does that make any difference ?? Bcoz after configuring all the required parameters, i am getting an error that unable to do the lookup.i have tried practically all possible configurations.kindly let me knw if u r aware of any configuration details regarding this.. Thanks Regards, Vaibhav -Original Message- From: Sanjiva Weerawarana [mailto:[EMAIL PROTECTED]] Sent: Saturday, October 14, 2006 7:26 PM To: axis-user@ws.apache.org Subject: Re: WS Addressing :: Axis2 :: JMS Webs ervice lookup issues On Fri, 2006-10-13 at 11:43 +0530, Vaibhav Pandey wrote: Hi all, i have a small doubt regarding the protocol to be used during lookup of my JMS WS installed in an application server other than the one in which i have installed axis... as mentioned in all tutorials:- tcp://localhost:6061 there is a mapping of tcp with transport recievers and transport senders in axis2.xml but there is nothing of this sought for iiop .. My JMS WS is in web sphere RAD6 and i want to do a lookup of it:- iiop://localhost:2809 Do i
Re: JMS Transport not starting
Terry Place geronimo-spec-jms-1.1-rc4.jar or an equivalent as well on the Tomcat lib - seems like a difference in standalone and war dists - and I will update the docs to include this as well. Once you do this you will get through the initial error you have mentioned. However you will need to wait for http://issues.apache.org/jira/browse/AXIS2-1488 to actually start JMS from a WAR dist. This is a very tiny modification, and Deepal will check in the changes ASAP and should be available with the 1.1 RC2 or nightly builds soon asankha Terry wrote: Yes, I copied all the libraries listed in the docs. Conf file attached... Thanks Terry asankha wrote: Hi Terry Could you send me your axis2.xml Also I am assuming that you have copied the relevant dependencies/jars into your tomcat lib folder asankha http://www.nabble.com/file/3809/axis2.xml axis2.xml - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Axis2 JMS Transport Documentation
I have checked in documentation and samples related to JMS into the XDocs (Axis2/xdocs/1_1/jms-transport.html) Your comments/suggestions for improvement are appreciated. asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] JMS support improvements
Hi Ali I wrote the new JMS implementation, but please note that it has not been made the default Axis2 JMS implementation yet.. As I come from the Synapse background, my main concerns were to be able to listen on multiple JMS destinations (probably using different JMS servers) by different services. I really appreciate your feedback and apologize for the delay in replying to this email thread as I was at ApacheCon last week. So.. as I guess you are not alone anymore in the JMS space.. can we take things one by one and get them resolved? Nothing would make me happier than to also see you get involved in fixing some of these issues you have discovered with your suggested resolutions :-) I will answer the following questions from the new JMS implementation perspective as I do not have much experience with the current implementation. New JMS Implementation - [New Feature] Handling connections to security enabled brokers [1] - There is no support for authenticated connections. But in real life; - Each connection may require username and password - Each binding/broker(transport.jms.ConnectionFactoryJNDIName) may require a different username password - There is a need for a place to store connection username password (probably within axis2.xml [2]) The new JMS implementation allows you to define one or more connection factories that you could listen on. You can provide the user name and password to be used to get the context through the java.naming.security.principal and java.naming.security.credentials properties set on the connection factory. I believe that the javax.jms.ConnectionFactory.createConnection() now uses the above, as the default user identity. transportReceiver name="jms" class="org.apache.axis2.transport.njms.JMSListener" parameter name="myQueueConnectionFactory" locked="false" parameter name="java.naming.factory.initial" locked="false"org.apache.activemq.jndi.ActiveMQInitialContextFactory/parameter parameter name="java.naming.provider.url" locked="false"tcp://localhost:61616/parameter parameter name="java.naming.security.principal" locked="false"myuser/parameter parameter name="java.naming.security.credentials" locked="false"mypassword/parameter parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false"QueueConnectionFactory/parameter /parameter /transportReceiver - [New Feature] ConnectionFactory cache [3] - In SonicMQ, if ConnectionFactory is retrieved from the JNDI for each connection, very high memory usage which prevents access to admin console occurs during high message traffic. And sometimes the server crashes. - AFAIK, old JMS implementation uses connectors to achive this. The JMS listener focuses on listening for JMS messages - and I believe that the optimization that one could perform on outgoing JMS is limited - as different messages may be destined for different JMS destinations. However, I also think that we could use the "default" connection factory (if one is defined) for outgoing messages with a minor patch.. Will this be ok? - [New Feature] Connection pool [3] - I'm not 100% sure here. Caching ConnectionFactory would be suffient if vendor specific ConnectionFactory internally supports connection pool. Or, perhaps, a ConnectionPool which internally holds connections and uses ConnectionFactory cache may be written. The new code does not go into vendor specifics.. hence if a vendor does have optimizations, they will be used through the standard JMS code we are using. Common for both Implementation - - [Bug?] fireAndForget () waits for response when it comes to JMS[5] - In JMSSender.invoke(), there is waitForResponse variable that is set according to the separate channel use. Because of this, I need to pass true to options.setUseSeparateListener() before calling fireAndForget (). Does it logically correct? I mean, don't we expect fireAndForget() to be used for one-way messaging? I think fireAndForget() should be irrelevant to the response message and so the listener. I think the fireAndForget() should set the appropriate settings. Do you think so too? - [New Feature] Message driven beans as service endpoints - That would be a great feature. JBossWS supports MDBs[6]. I'm sure any help on such features would be very welcome by the community :-) - [Improvement] JMS URL concept/proposal/tutorial should be clarified/updated[7] - There is one proposal for Axis1[8] and none for Axis2. It seems, some of the parameters are not used in Axis2. Agreed.. will need some time though as I'm working more on Synapse right now.. again any help is most welcome asankha - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL
Re: [Axis2] Proxy Service within samples
Ron The right place for this question is the Synapse dev list. But let me briefly explain it here until such time you join the mailing list.. Synapse can currently create a new Axis service on behalf of another existing service. This new service is called a Proxy service in Synapse and is created programatically, and may use a different transport than the actual service you are proxying for, as well as have different QoS semantics. Synapse is also capable of getting hold of messages not dispatched to any existing service (hosted on the underlying Axis2, or proxy service) by means of a custom dispatcher placed into Axis2. How exactly we do it in Synapse, is by deploying Synapse as an Axis Module, which will place the custom dispatcher into Axis (see \Synapse\modules\core\conf\module.xml and SynapseDispatcher.java and the SynapseMessageReceiver.java) If you require any more information please ask on the Synapse dev mailing list. asankha Soactive Inc wrote: Can anyone suggest a way (provide details please) to strip out just the necessary code from Synapse to implement a Proxy Service. I looked at Synapse and its not obvious what constructs I need for this. I don't need the other aspects of Synapse that may be useful elsewhere. Thanks, Ron On 6/19/06, Saminda Abeyruwan [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Ron, Synapse's proxy service support is the right thing for you. Saminda Soactive Inc wrote: Hi Saminda, I am not sure if I stated my problem correctly. I am not looking for a generic proxy client (along the lines of what you pointed me to). Rather, I am looking for a generic proxy service that can take any request coming from in any web service and then route that to the appropriate service endpoint. I already have the logic for the routing part and looking to build the proxy service part that was clearly working with the ProxyService sample in Axis 1.x but was not migrated/re-implemented in Axis 2. Thanks, Ron On 6/19/06, *Saminda Abeyruwan* [EMAIL PROTECTED] mailto: [EMAIL PROTECTED] wrote: Soactive Inc wrote: Does anyone know if the following service that was provided as a sample within the Axis 1.x samples is also shipped with Axis 2? http://genome.jouy.inra.fr/doc/web/axis-1_2_1/samples/proxy/ProxyService.java I found that this code does not work on Axis 2 since the Context classes have changed. I would appreciate if someone could point me to the Axis 2 version. Thanks, Ron http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/EchoRawRuntimeProxyTest.java?view=markup Contains a testcase on how to configure Axis2 to support Proxy services. For more info please look http://ws.apache.org/axis2/0_95/http-transport.html Thank you Saminda - - To unsubscribe, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFEl4CsYmklbLuW6wYRAk3mAJ9Hc2DKROFIJw8wGqG/Pw8GqCaHtQCgh88p XFzXR4jBd7cAsQSIVwt1Ues= =3VdC -END PGP SIGNATURE- - 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]