Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 4030 invoked from network); 27 Sep 2004 17:02:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 27 Sep 2004 17:02:38 -0000 Received: (qmail 39655 invoked by uid 500); 27 Sep 2004 17:02:24 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 39634 invoked by uid 500); 27 Sep 2004 17:02:23 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 39625 invoked by uid 99); 27 Sep 2004 17:02:23 -0000 X-ASF-Spam-Status: No, hits=0.6 required=10.0 tests=HTML_30_40,HTML_MESSAGE,MIME_BASE64_LATIN,MIME_BASE64_NO_NAME,MIME_BASE64_TEXT X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [193.81.246.11] (HELO eins.siemens.at) (193.81.246.11) by apache.org (qpsmtpd/0.28) with ESMTP; Mon, 27 Sep 2004 10:02:22 -0700 Received: from vies1kbx.sie.siemens.at ([158.226.135.174]) by eins.siemens.at (8.12.9/8.12.8) with ESMTP id i8RH2Jfd022574 for ; Mon, 27 Sep 2004 19:02:19 +0200 Received: from vies194a.sie.siemens.at (vies1kbx [158.226.135.174]) by vies1kbx.sie.siemens.at (8.12.10/8.12.1) with ESMTP id i8RH2HT4021241 for ; Mon, 27 Sep 2004 19:02:17 +0200 Received: by vies194a.sie.siemens.at with Internet Mail Service (5.5.2653.19) id ; Mon, 27 Sep 2004 19:04:33 +0200 Message-ID: <2C2EA8CB8D93D711942D00300530873503CA2DB0@vies197a.sie.siemens.at> From: Maenner Philipp To: "'axis-user@ws.apache.org'" Subject: custom transport hard-coding issue? Date: Mon, 27 Sep 2004 19:04:26 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C4A4B4.0B3BBF30" X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C4A4B4.0B3BBF30 Content-Type: text/plain; charset="iso-8859-1" Hi, Just started using Axis like 4 weeks ago and I must say that I'm amazed how well this engine works. I am working on implementing a custom transport handler for Axis and I started testing and modifying the really well documented TCP transport sample code from the axis src distribution. My problem is that I see no way to deploy a custom transport protocol handler *only* by using WSDD in Axis. I see this as a major drawback, but it will take a few lines to explain why I feel this way: Generally when handling some custom transport protocol on the client side, there are two things to do: 1. registering the custom protocol itself by deploying a sub-class of Transport 2. deploying a pivot handler for this protocol which is used for sending/receiving the data. step1 is done by adding the following lines to the application code: Call.addTransportPackage(""); Call.setTransportForProtocol("",""); step2 is done programatically roughly by the following code: EngineConfiguration defaultConfig = EngineConfigurationFactoryFinder.newFactory().getClientEngineConfig(); SimpleProvider config = new SimpleProvider(defaultConfig); SimpleTargetedChain c = new SimpleTargetedChain(new ); config.deployTransport("", c); Service service = new Service(config); Even better, step 2 can be done in WSDD instead of in SRC by using the following syntax for deployment: I see it as a big limitation that there is no way to translate the code in step1 to WSDD, as in step2. It means that for every client application that shall support a custom protocol, I'd have to go and modify it's source-code by adding (at least) these two lines. Expressing step2 in WSDD is great, but that doesn't really save me much when I still have to register the Transport class (step1) first by hard-coding it into the app. This really reduces maintainability when it comes to using custom transport handlers. A good example of why this is annoying is in samples.transport.tcp.AdminClient. Correct me if I'm wrong, but it seems like this class only exists because there is no way to express in WSDD that a TCPTransport should be loaded and registered when tcp:// is used in the Endpoint Address. So, so the original AdminClient had to be sub-classed as a work-around. Just imagine that for each custom transport protocol you implement, you'd have to write your own little AdminClient class only to even be able to list the deployed services on an Axis Server..... I also see this as a design issue in that you'd have to know in advance which custom underyling protocol you want to support when writing any Axis client code, which in turn isn't really what I call transport-independent. I digged through the transport-specific source code of Axis and unless I missed something there is no way of circumventing this as of now. However I am confident it must be possible to extend Axis in a way that supports complete transport-independency regarding the client application code. Any thoughts on that issue are appreciated. I hope that you understand my concerns, if something is unclear feel free to ask me anything you like. Regards, Philipp Maenner PS: Should I post this on the dev list? ------_=_NextPart_001_01C4A4B4.0B3BBF30 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMi8vRU4iPg0KPEhUTUw+ DQo8SEVBRD4NCjxNRVRBIEhUVFAtRVFVSVY9IkNvbnRlbnQtVHlwZSIgQ09OVEVOVD0idGV4dC9o dG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPg0KPE1FVEEgTkFNRT0iR2VuZXJhdG9yIiBDT05URU5U PSJNUyBFeGNoYW5nZSBTZXJ2ZXIgdmVyc2lvbiA1LjUuMjY1Ny43MyI+DQo8VElUTEU+Y3VzdG9t IHRyYW5zcG9ydCBoYXJkLWNvZGluZyBpc3N1ZT88L1RJVExFPg0KPC9IRUFEPg0KPEJPRFk+DQoN CjxQPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+SGksIDwvRk9OVD4NCjxCUj48Rk9OVCBTSVpF PTIgRkFDRT0iQXJpYWwiPkp1c3Qgc3RhcnRlZCB1c2luZyBBeGlzIGxpa2UgNCB3ZWVrcyBhZ28g YW5kIEkgbXVzdCBzYXkgdGhhdCBJJ20gYW1hemVkIGhvdyB3ZWxsIHRoaXMgZW5naW5lIHdvcmtz LjwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkkgYW0gd29ya2luZyBvbiBp bXBsZW1lbnRpbmcgYSBjdXN0b20gdHJhbnNwb3J0IGhhbmRsZXIgZm9yIEF4aXMgYW5kIEkgc3Rh cnRlZCB0ZXN0aW5nPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+YW5kIG1v ZGlmeWluZyB0aGUgcmVhbGx5IHdlbGwgZG9jdW1lbnRlZCBUQ1AgdHJhbnNwb3J0IHNhbXBsZSBj b2RlIGZyb20gdGhlIGF4aXMgc3JjIGRpc3RyaWJ1dGlvbi48L0ZPTlQ+DQo8QlI+PEZPTlQgU0la RT0yIEZBQ0U9IkFyaWFsIj5NeSBwcm9ibGVtIGlzIHRoYXQgSSBzZWUgbm8gd2F5IHRvIGRlcGxv eSBhIGN1c3RvbSB0cmFuc3BvcnQgcHJvdG9jb2wgaGFuZGxlciAqb25seSombmJzcDsgYnkgdXNp bmcgV1NERCBpbiBBeGlzLjwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkkg c2VlIHRoaXMgYXMgYSBtYWpvciBkcmF3YmFjaywgYnV0IGl0IHdpbGwgdGFrZSBhIGZldyBsaW5l cyB0byBleHBsYWluIHdoeSBJIGZlZWwgdGhpcyB3YXk6PC9GT05UPg0KPC9QPg0KDQo8UD48Rk9O VCBTSVpFPTIgRkFDRT0iQXJpYWwiPkdlbmVyYWxseSB3aGVuIGhhbmRsaW5nIHNvbWUgY3VzdG9t IHRyYW5zcG9ydCBwcm90b2NvbCBvbiB0aGUgY2xpZW50IHNpZGUsIHRoZXJlIGFyZSB0d28gdGhp bmdzIHRvIGRvOjwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPjEuIHJlZ2lz dGVyaW5nIHRoZSBjdXN0b20gcHJvdG9jb2wgaXRzZWxmIGJ5IGRlcGxveWluZyBhIHN1Yi1jbGFz cyBvZiBUcmFuc3BvcnQ8L0ZPTlQ+DQo8QlI+PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj4yLiBk ZXBsb3lpbmcgYSBwaXZvdCBoYW5kbGVyIGZvciB0aGlzIHByb3RvY29sIHdoaWNoIGlzIHVzZWQg Zm9yIHNlbmRpbmcvcmVjZWl2aW5nIHRoZSBkYXRhLiA8L0ZPTlQ+DQo8L1A+DQoNCjxQPjxGT05U IFNJWkU9MiBGQUNFPSJBcmlhbCI+c3RlcDEgaXMgZG9uZSBieSBhZGRpbmcgdGhlIGZvbGxvd2lu ZyBsaW5lcyB0byB0aGUgYXBwbGljYXRpb24gY29kZTogPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9 MiBGQUNFPSJBcmlhbCI+Q2FsbC5hZGRUcmFuc3BvcnRQYWNrYWdlKCZxdW90OyZsdDt0cmFuc3Bv cnQgcGFja2FnZSBuYW1lJmd0OyZxdW90Oyk7PC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNF PSJBcmlhbCI+Q2FsbC5zZXRUcmFuc3BvcnRGb3JQcm90b2NvbCgmcXVvdDsmbHQ7cHJvdG9jb2wg bmFtZSZndDsmcXVvdDssJnF1b3Q7Jmx0O2V4YWN0IHRyYW5zcG9ydCBjbGFzcyBuYW1lJmd0OyZx dW90Oyk7PC9GT05UPg0KPC9QPg0KDQo8UD48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPnN0ZXAy IGlzIGRvbmUgcHJvZ3JhbWF0aWNhbGx5IHJvdWdobHkgYnkgdGhlIGZvbGxvd2luZyBjb2RlOjwv Rk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkVuZ2luZUNvbmZpZ3VyYXRpb24g ZGVmYXVsdENvbmZpZyA9IDwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkVu Z2luZUNvbmZpZ3VyYXRpb25GYWN0b3J5RmluZGVyLm5ld0ZhY3RvcnkoKS5nZXRDbGllbnRFbmdp bmVDb25maWcoKTs8L0ZPTlQ+DQo8QlI+PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5TaW1wbGVQ cm92aWRlciBjb25maWcgPSBuZXcgU2ltcGxlUHJvdmlkZXIoZGVmYXVsdENvbmZpZyk7PC9GT05U Pg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+U2ltcGxlVGFyZ2V0ZWRDaGFpbiBjID0g bmV3IFNpbXBsZVRhcmdldGVkQ2hhaW4obmV3ICZsdDtwcm90b2NvbCBoYW5kbGVyIGNsYXNzJmd0 Oyk7PC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+Y29uZmlnLmRlcGxveVRy YW5zcG9ydCgmcXVvdDsmbHQ7cHJvdG9jb2wgbmFtZSZndDsmcXVvdDssIGMpOzwvRk9OVD4NCjxC Uj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPlNlcnZpY2Ugc2VydmljZSA9IG5ldyBTZXJ2aWNl KGNvbmZpZyk7PC9GT05UPg0KPC9QPg0KDQo8UD48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkV2 ZW4gYmV0dGVyLCBzdGVwIDIgY2FuIGJlIGRvbmUgaW4gV1NERCBpbnN0ZWFkIG9mIGluIFNSQyBi eSB1c2luZyB0aGUgZm9sbG93aW5nIHN5bnRheCBmb3IgZGVwbG95bWVudDo8L0ZPTlQ+DQo8QlI+ PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj4mbHQ7dHJhbnNwb3J0IG5hbWU9JnF1b3Q7Jmx0O3By b3RvY29sLW5hbWUmZ3Q7JnF1b3Q7IHBpdm90PSZxdW90OyZsdDtleGFjdCBzZW5kZXIgY2xhc3Mg bmFtZSZndDsmcXVvdDsgLyZndDs8L0ZPTlQ+DQo8L1A+DQoNCjxQPjxGT05UIFNJWkU9MiBGQUNF PSJBcmlhbCI+SSBzZWUgaXQgYXMgYSBiaWcgbGltaXRhdGlvbiB0aGF0IHRoZXJlIGlzIG5vIHdh eSB0byB0cmFuc2xhdGUgdGhlIGNvZGUgaW4gc3RlcDEgdG8gV1NERCw8L0ZPTlQ+DQo8QlI+PEZP TlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5hcyBpbiBzdGVwMi4gSXQgbWVhbnMgdGhhdCBmb3IgZXZl cnkgY2xpZW50IGFwcGxpY2F0aW9uIHRoYXQgc2hhbGwgc3VwcG9ydCBhIGN1c3RvbSBwcm90b2Nv bCwgPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+SSdkIGhhdmUgdG8gZ28g YW5kIG1vZGlmeSBpdCdzIHNvdXJjZS1jb2RlIGJ5IGFkZGluZyAoYXQgbGVhc3QpIHRoZXNlIHR3 byBsaW5lcy48L0ZPTlQ+DQo8QlI+PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5FeHByZXNzaW5n IHN0ZXAyIGluIFdTREQgaXMgZ3JlYXQsIGJ1dCB0aGF0IGRvZXNuJ3QgcmVhbGx5IHNhdmUgbWUg bXVjaCB3aGVuIEkgc3RpbGwgaGF2ZSB0bzwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0i QXJpYWwiPnJlZ2lzdGVyIHRoZSBUcmFuc3BvcnQgY2xhc3MgKHN0ZXAxKSBmaXJzdCBieSBoYXJk LWNvZGluZyBpdCBpbnRvIHRoZSBhcHAuPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJB cmlhbCI+VGhpcyByZWFsbHkgcmVkdWNlcyBtYWludGFpbmFiaWxpdHkgd2hlbiBpdCBjb21lcyB0 byB1c2luZyBjdXN0b20gdHJhbnNwb3J0IGhhbmRsZXJzLjwvRk9OVD4NCjwvUD4NCg0KPFA+PEZP TlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5BIGdvb2QgZXhhbXBsZSBvZiB3aHkgdGhpcyBpcyBhbm5v eWluZyBpcyBpbiBzYW1wbGVzLnRyYW5zcG9ydC50Y3AuQWRtaW5DbGllbnQuIDwvRk9OVD4NCjxC Uj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkNvcnJlY3QgbWUgaWYgSSdtIHdyb25nLCBidXQg aXQgc2VlbXMgbGlrZSB0aGlzIGNsYXNzIG9ubHkgZXhpc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8g d2F5IHRvIGV4cHJlc3MgPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+aW4g V1NERCB0aGF0IGEgVENQVHJhbnNwb3J0IHNob3VsZCBiZSBsb2FkZWQgYW5kIHJlZ2lzdGVyZWQg d2hlbiB0Y3A6Ly8gaXMgdXNlZCBpbiB0aGUgRW5kcG9pbnQgQWRkcmVzcy48L0ZPTlQ+DQo8QlI+ PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5Tbywgc28gdGhlIG9yaWdpbmFsIEFkbWluQ2xpZW50 IGhhZCB0byBiZSBzdWItY2xhc3NlZCBhcyBhIHdvcmstYXJvdW5kLjwvRk9OVD4NCjxCUj48Rk9O VCBTSVpFPTIgRkFDRT0iQXJpYWwiPkp1c3QgaW1hZ2luZSB0aGF0IGZvciBlYWNoIGN1c3RvbSB0 cmFuc3BvcnQgcHJvdG9jb2wgeW91IGltcGxlbWVudCwgeW91J2QgaGF2ZSB0byB3cml0ZSB5b3Vy IG93biBsaXR0bGU8L0ZPTlQ+DQo8QlI+PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5BZG1pbkNs aWVudCBjbGFzcyBvbmx5IHRvIGV2ZW4gYmUgYWJsZSB0byBsaXN0IHRoZSBkZXBsb3llZCBzZXJ2 aWNlcyBvbiBhbiBBeGlzIFNlcnZlci4uLi4uPC9GT05UPg0KPC9QPg0KDQo8UD48Rk9OVCBTSVpF PTIgRkFDRT0iQXJpYWwiPkkgYWxzbyBzZWUgdGhpcyBhcyBhIGRlc2lnbiBpc3N1ZSBpbiB0aGF0 IHlvdSdkIGhhdmUgdG8ga25vdyBpbiBhZHZhbmNlIHdoaWNoIGN1c3RvbSB1bmRlcnlsaW5nIHBy b3RvY29sIHlvdSB3YW50IHRvIDwvRk9OVD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwi PnN1cHBvcnQgd2hlbiB3cml0aW5nIGFueSBBeGlzIGNsaWVudCBjb2RlLCB3aGljaCBpbiB0dXJu IGlzbid0IHJlYWxseSB3aGF0IEkgY2FsbCB0cmFuc3BvcnQtaW5kZXBlbmRlbnQuPC9GT05UPg0K PC9QPg0KDQo8UD48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPkkgZGlnZ2VkIHRocm91Z2ggdGhl IHRyYW5zcG9ydC1zcGVjaWZpYyBzb3VyY2UgY29kZSBvZiBBeGlzIGFuZCB1bmxlc3MgSSBtaXNz ZWQgc29tZXRoaW5nIHRoZXJlIGlzIG5vPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJB cmlhbCI+d2F5IG9mIGNpcmN1bXZlbnRpbmcgdGhpcyBhcyBvZiBub3cuIEhvd2V2ZXIgSSBhbSBj b25maWRlbnQgaXQgbXVzdCBiZSBwb3NzaWJsZSB0byBleHRlbmQgQXhpcyBpbiBhIHdheTwvRk9O VD4NCjxCUj48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPnRoYXQgc3VwcG9ydHMgY29tcGxldGUg dHJhbnNwb3J0LWluZGVwZW5kZW5jeSByZWdhcmRpbmcgdGhlIGNsaWVudCBhcHBsaWNhdGlvbiBj b2RlLjwvRk9OVD4NCjwvUD4NCg0KPFA+PEZPTlQgU0laRT0yIEZBQ0U9IkFyaWFsIj5BbnkgdGhv dWdodHMgb24gdGhhdCBpc3N1ZSBhcmUgYXBwcmVjaWF0ZWQuPC9GT05UPg0KPEJSPjxGT05UIFNJ WkU9MiBGQUNFPSJBcmlhbCI+SSBob3BlIHRoYXQgeW91IHVuZGVyc3RhbmQgbXkgY29uY2VybnMs IGlmIHNvbWV0aGluZyBpcyB1bmNsZWFyIGZlZWwgZnJlZSB0byBhc2sgbWUgYW55dGhpbmcgeW91 IGxpa2UuPC9GT05UPg0KPC9QPg0KDQo8UD48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPlJlZ2Fy ZHMsPC9GT05UPg0KPEJSPjxGT05UIFNJWkU9MiBGQUNFPSJBcmlhbCI+UGhpbGlwcCBNYWVubmVy PC9GT05UPg0KPC9QPg0KDQo8UD48Rk9OVCBTSVpFPTIgRkFDRT0iQXJpYWwiPlBTOiBTaG91bGQg SSBwb3N0IHRoaXMgb24gdGhlIGRldiBsaXN0PzwvRk9OVD4NCjwvUD4NCg0KPC9CT0RZPg0KPC9I VE1MPg== ------_=_NextPart_001_01C4A4B4.0B3BBF30--