From jasmine05@example.org Mon Jun 01 03:00:10 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 90147 invoked from network); 1 Jun 2009 03:00:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 03:00:10 -0000 Received: (qmail 44590 invoked by uid 500); 1 Jun 2009 03:00:21 -0000 Delivered-To: jasmine05@example.org Received: (qmail 44516 invoked by uid 500); 1 Jun 2009 03:00:21 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 44506 invoked by uid 99); 1 Jun 2009 03:00:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 03:00:21 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO rv-out-0708.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 03:00:11 +0000 Received: by rv-out-0708.google.com with SMTP id l33so3125745rvb.6 for <jasmine05@example.org>; Sun, 31 May 2009 19:59:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=0ymWsrR0h6FdzS75/NpNUnHYxz/Roxwr/IQSr2xJZSw=; b=IUq3+quVDFyozXJOMs5XSDRY5zv/2DBYV60o0cLSteIHvIo0KXtB8naal2I4Dy/9XC n78Inqv9y8ARhhDQVfllCR3Nbd12lE0ZQ2JUT354R4zT+I281ZGAoGVMjYPVctZ7O2Zf jDwFgz4yF63agMzuzFiQ59rV0Kzw1GRjO+Hg0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=kPonijJe5wtg3GDXaPt0cUxYcJpCOk+gkhkTt9HSE7QUXuc9Seq1uLmzlantw9XE66 3euAU9kcDQX4B5UNZGesFWAR8qBbFCmxZyPJ9neDXTbcP+gsf7Xdfslodvp3tdhoh2hO kLK8TE4k7cKWa3398q8tSqzEb0IODQVEJ/wBY= Received: by 83.161.120.155 with SMTP id m4mr5606663rvd.213.1243825189807; Sun, 31 May 2009 19:59:49 -0700 (PDT) Received: from ?83.161.120.155? ([83.161.120.155]) by mx.google.com with ESMTPS id g22sm13413420rvb.46.283.161.120.155.59.48 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 31 May 2009 19:59:49 -0700 (PDT) Message-ID: <jasmine05@example.org> Date: Mon, 01 Jun 2009 10:59:32 +0800 From: Willem Jiang <jasmine05@example.org> User-Agent: Thunderbird 83.161.120.155 (Windows/20090302) MIME-Version: 1.0 To: jasmine05@example.org Subject: Re: svn commit: r780421 References: <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi Sergey, If you remove the comment and wrong the test of JAXRSClientFactoryBeanTest, you will see the error :) It looks like the resource checking can't find any resource info from the setting. Thanks, Willem Sergey Beryozkin wrote: > Hi Willem > > Thanks for this commit, just would like to clarify one thing about one > of the comments in your test : > + > + <!-- current JAXRSClient doesn't support the modelRef > + <jaxrs:client id="ModuleClient" > + > serviceClass="org.apache.cxf.jaxrs.resources.BookStoreNoAnnotations" > + modelRef="classpath:/org/apache/cxf/jaxrs/spring/resources.xml" > + address="http://localhost:8080/simpleWithAddress"> > + </jaxrs:client> > + --> > + > > I just checked the jaxrs.xsd, there's a @modelRef attribute in > jaxrs:client. > May be I just have misunderstood your comment ? > > Thanks, Sergey > > > From jasmine05@example.org Mon Jun 01 06:10:53 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 57421 invoked from network); 1 Jun 2009 06:10:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 06:10:53 -0000 Received: (qmail 52807 invoked by uid 500); 1 Jun 2009 06:11:05 -0000 Delivered-To: jasmine05@example.org Received: (qmail 52715 invoked by uid 500); 1 Jun 2009 06:11:05 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 52693 invoked by uid 99); 1 Jun 2009 06:11:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 06:11:04 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mx2.redhat.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 06:10:55 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [83.161.120.155]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n516AXPq015234; Mon, 1 Jun 2009 02:10:33 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [83.161.120.155]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n516AXo4002287; Mon, 1 Jun 2009 02:10:33 -0400 Received: from localhost.localdomain (vpn-10-42.str.redhat.com [83.161.120.155]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n516AVHq031386; Mon, 1 Jun 2009 02:10:32 -0400 Message-ID: <jasmine05@example.org> Date: Mon, 01 Jun 2009 08:10:32 +0200 From: Richard Opalka <jasmine05@example.org> User-Agent: Thunderbird 83.161.120.155 (X11/20090105) MIME-Version: 1.0 To: jasmine05@example.org CC: jasmine05@example.org, jasmine05@example.org Subject: Re: [ANNOUNCE] Apache CXF 2.2.2 released! References: <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 83.161.120.155 X-Virus-Checked: Checked by ClamAV on apache.org Congrats to everybody involved! Richard Daniel Kulp wrote: > The Apache CXF team is proud to announce the availability of the 2.2.2 patch > release! > > This is mostly a patch release to fix problems and issues that users have > encountered with 2.2.1 resolving 23 JIRA items. However, this release is > also the first release to pass the JAX-RS 1.0 TCK thus providing a complete > JAX-RS 1.0 implementation. > > > Apache CXF is an open source services framework. CXF helps you build and > develop services using front end programming APIs, like JAX-WS and JAX-RS. > These services can speak a variety of protocols such as SOAP, XML/HTTP, > RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS > or JBI. > > For more information see: > * Download: http://cxf.apache.org/download.html > * Website: http://cxf.apache.org/ > * Mailing lists: http://cxf.apache.org/mailing-lists.html > > If you have feedback, questions or would like to get involved in the CXF > project please join the mailing lists and let us know your thoughts. > > The Apache CXF Team > http://cxf.apache.org/ > > > > > > > -- Richard Opalka JBoss Software Engineer Mail: jasmine05@example.org Mobile: (450)616-2807 From jasmine05@example.org Mon Jun 01 13:47:25 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 8587 invoked from network); 1 Jun 2009 13:47:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 13:47:24 -0000 Received: (qmail 12059 invoked by uid 500); 1 Jun 2009 13:47:37 -0000 Delivered-To: jasmine05@example.org Received: (qmail 11971 invoked by uid 500); 1 Jun 2009 13:47:36 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Delivered-To: moderator for jasmine05@example.org Received: (qmail 8064 invoked by uid 99); 1 Jun 2009 13:41:56 -0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) From: "bharath thippireddy" <jasmine05@example.org> Reply-To: "jasmine05@example.org" <jasmine05@example.org> To: "jasmine05@example.org" <jasmine05@example.org>, "jasmine05@example.org" <jasmine05@example.org> CC: "jasmine05@example.org" <jasmine05@example.org> Subject: RE: [ANNOUNCE] Apache CXF 2.2.2 released! Date: Mon, 1 Jun 2009 09:41:13 -0400 Thread-Index: Acnivp/j2zY4D0dkRNaDDJlb8OAq6Q== Organization: Oracle Corporation Message-ID: <20090601094113620.00000003596@BREDDY-GX745> In-Reply-To: <jasmine05@example.org> References: <jasmine05@example.org> X-Mailer: Oracle Connector for Outlook 83.161.120.099-55-802601 (12.0.4518) X-Accept-Language: en-us, en MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Source-IP: acsmt353.oracle.com [83.161.120.155] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090204.4A23DA80.013D:SCFMA4539814,ss=1,fgs=0 X-Virus-Checked: Checked by ClamAV on apache.org Congrats and Thanks for the Update Dan!! -----Original Message----- From: Daniel Kulp [mailto:jasmine05@example.org] = Sent: Saturday, May 30, 2009 7:12 AM To: jasmine05@example.org; jasmine05@example.org; jasmine05@example.org Subject: [ANNOUNCE] Apache CXF 2.2.2 released! The Apache CXF team is proud to announce the availability of the 2.2.2 patc= h release! This is mostly a patch release to fix problems and issues that users have = encountered with 2.2.1 resolving 23 JIRA items. However, this release is= = also the first release to pass the JAX-RS 1.0 TCK thus providing a complete= = JAX-RS 1.0 implementation. = Apache CXF is an open source services framework. CXF helps you build and de= velop services using front end programming APIs, like JAX-WS and JAX-RS. = These services can speak a variety of protocols such as SOAP, XML/HTTP, RES= Tful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS= or JBI. For more information see: * Download: http://cxf.apache.org/download.html * Website: http://cxf.apache.org/ * Mailing lists: http://cxf.apache.org/mailing-lists.html If you have feedback, questions or would like to get involved in the CXF pr= oject please join the mailing lists and let us know your thoughts. The Apache CXF Team http://cxf.apache.org/ From jasmine05@example.org Mon Jun 01 14:14:23 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 25715 invoked from network); 1 Jun 2009 14:14:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 14:14:23 -0000 Received: (qmail 45043 invoked by uid 500); 1 Jun 2009 14:14:35 -0000 Delivered-To: jasmine05@example.org Received: (qmail 44961 invoked by uid 500); 1 Jun 2009 14:14:34 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 44951 invoked by uid 99); 1 Jun 2009 14:14:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 14:14:34 +0000 X-ASF-Spam-Status: No, hits=1.8 required=10.0 tests=SPF_PASS,SUBJ_ALL_CAPS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mail-ew0-f161.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 14:14:26 +0000 Received: by ewy5 with SMTP id 5so11008922ewy.30 for <jasmine05@example.org>; Mon, 01 Jun 2009 07:14:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=F7DNGng2RaKRpVtFvh+abAtjjFmwC9YdsqGECr4bAbY=; b=xcM57inMxJE4isOw+FLXCUKLcp49Cx0L0hyupRHllbB/Hbmrmc6kf8dr+mC99RAFK2 CVw6yqCjh5sgoD1BwiVVJg3wKc+FB2utbxaYXSMElCMGqTzDfl2DR+scAvwnLKzMxzNK pRF1boj4U4vU2LdNWRGHbBB951krGUjrIzTKQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=oRcy4+eehBFb2MZevvmDCXeNy6kIFQS1cgl1khMV34mdec8J5lRO3wvc+C86MQkEqF wyBY2IQKgFgW9qSDACKNgSEMJ/SDIrSw7dihSrfUgBN5NPfiJm1f80swOI/pgpQD54qm Gllcz+V4Oi6aA7rbU6vMTGVzZIDzGcmDMeQMY= MIME-Version: 1.0 Received: by 83.161.120.155 with SMTP id h58mr1860368weh.60.1243865645408; Mon, 01 Jun 2009 07:14:05 -0700 (PDT) Date: Mon, 1 Jun 2009 10:14:05 -0400 Message-ID: <jasmine05@example.org> Subject: JAXB 2.2 EA From: Benson Margulies <jasmine05@example.org> To: CXF Dev <jasmine05@example.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org It would be good if someone would find time to test this out and complain about problems with it. From jasmine05@example.org Mon Jun 01 14:36:54 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 38231 invoked from network); 1 Jun 2009 14:36:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 14:36:52 -0000 Received: (qmail 81097 invoked by uid 500); 1 Jun 2009 14:37:03 -0000 Delivered-To: jasmine05@example.org Received: (qmail 81053 invoked by uid 500); 1 Jun 2009 14:37:03 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Delivered-To: moderator for jasmine05@example.org Received: (qmail 54624 invoked by uid 99); 1 Jun 2009 14:19:44 -0000 X-ASF-Spam-Status: No, hits=-1.0 required=10.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) X-Sasl-enc: xidGCOK9JwfY0yfVljXpDZZaZ1uMB0tr/xWxzwI3sOB7 1243865952 Cc: jasmine05@example.org, jasmine05@example.org Message-Id: <jasmine05@example.org> From: "Bradley S. O'Hearne" <jasmine05@example.org> To: jasmine05@example.org In-Reply-To: <jasmine05@example.org> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Subject: Re: [ANNOUNCE] Apache CXF 2.2.2 released! Date: Mon, 1 Jun 2009 07:19:11 -0700 References: <jasmine05@example.org> <jasmine05@example.org> X-Mailer: Apple Mail (2.935.3) X-Virus-Checked: Checked by ClamAV on apache.org Well done! Brad On May 31, 2009, at 11:10 PM, Richard Opalka wrote: > Congrats to everybody involved! > > Richard > > Daniel Kulp wrote: >> The Apache CXF team is proud to announce the availability of the >> 2.2.2 patch release! >> >> This is mostly a patch release to fix problems and issues that >> users have encountered with 2.2.1 resolving 23 JIRA items. >> However, this release is also the first release to pass the JAX-RS >> 1.0 TCK thus providing a complete JAX-RS 1.0 implementation. >> >> Apache CXF is an open source services framework. CXF helps you >> build and develop services using front end programming APIs, like >> JAX-WS and JAX-RS. These services can speak a variety of protocols >> such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a >> variety of transports such as HTTP, JMS or JBI. >> >> For more information see: >> * Download: http://cxf.apache.org/download.html >> * Website: http://cxf.apache.org/ >> * Mailing lists: http://cxf.apache.org/mailing-lists.html >> >> If you have feedback, questions or would like to get involved in >> the CXF >> project please join the mailing lists and let us know your thoughts. >> >> The Apache CXF Team >> http://cxf.apache.org/ >> >> >> >> >> >> >> > > > -- > Richard Opalka > JBoss Software Engineer > > Mail: jasmine05@example.org > Mobile: (450)616-2807 > From jasmine05@example.org Mon Jun 01 23:19:52 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 75478 invoked from network); 1 Jun 2009 23:19:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Jun 2009 23:19:51 -0000 Received: (qmail 44812 invoked by uid 500); 1 Jun 2009 23:20:04 -0000 Delivered-To: jasmine05@example.org Received: (qmail 44753 invoked by uid 500); 1 Jun 2009 23:20:03 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 44743 invoked by uid 99); 1 Jun 2009 23:20:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 23:20:03 +0000 X-ASF-Spam-Status: No, hits=3.7 required=10.0 tests=HTML_MESSAGE,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mail-ew0-f161.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2009 23:19:51 +0000 Received: by ewy5 with SMTP id 5so11495867ewy.30 for <jasmine05@example.org>; Mon, 01 Jun 2009 16:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=N2wR5VVB+U7+6AYBo7pEYsaJzMTNBIn/FVa2TdDJZcA=; b=F8j8F+2rF1LVIJhuVotykAvPEAzni37/fM+xVLdBIwhZrK/x5s9PTAtM1Oh1WKZ3Kq xiiqDT/mxa7ZeEUXezti7D9jOsSlnU/rdjV4X8I1szGaNbq2oFo3RzEmrqQHfQxMdVEA UykWwigIpDNtmBQBzANk+FfTi12/kE5sUbsWQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=DFSsBOC4ahQ+4Sg82WnDncbMj6VHSDR1SW4JMuDQ/UF9Vj17efnvqykyEd5eTY4fwA kAmso818Op4wOpiYhJrENZUZr/Ty2sWc7tQ8GNJRbp2T2M2DGN2CoqkoIl6efg5fRvq+ g4pxj7YoaNUSLg5QuxhvvMLMQkl2+d8H6iSJA= MIME-Version: 1.0 Received: by 83.161.120.155 with SMTP id i17mr3696119ebi.67.1243898370907; Mon, 01 Jun 2009 16:19:30 -0700 (PDT) In-Reply-To: <jasmine05@example.org> References: <jasmine05@example.org> <jasmine05@example.org> Date: Tue, 2 Jun 2009 01:19:30 +0200 Message-ID: <jasmine05@example.org> Subject: Re: [WS-Security] JAXWS webservice client without using cxf specific apis From: "rahul.soa" <jasmine05@example.org> To: jasmine05@example.org, jasmine05@example.org Cc: Jarek Gawor <jasmine05@example.org> Content-Type: multipart/alternative; boundary=0015174c17a888ddcb046b51a83f X-Virus-Checked: Checked by ClamAV on apache.org --0015174c17a888ddcb046b51a83f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello Alessio/Dan, Many Thanks for your reply. I am stick with the cxf specific apis for now. So I have pulled the required jars in geronimo for ws-security support. I also tested the basic ws-security support (CXF/jetty) and it works. I will submit a patch soon on this. Thanks to Jarek for his constant help. Best Regards, Rahul On Fri, May 29, 2009 at 7:48 PM, Daniel Kulp <jasmine05@example.org> wrote: > > > I really don't think there is a way as JAX-WS doesn't specify anything > related > to WS-Security. > > > That said, I would really suggest not going the WSS4JIn/OutInterceptor > route > and go the WS-SecurityPolicy route. Things are a LOT simpler from a > coding/config standpoint then. There ARE properties that can be set on > the > request context for stuff needed by the security policy engine. > > Dan > > > On Thu May 28 2009 7:01:24 pm rahul.soa wrote: > > Hello Devs, > > > > I am new for ws-security and working towards my gsoc project (aim is to > > enable CXF/axis2 ws-security support in Apache geronimo). I am working > for > > CXF first and have build geronimo with CXF ws-security jar files. > > > > So I need a jaxws web service client sample to access my secure web > service > > deployed on tomcat. > > > > I have developed a working version of client (invoking a secure web > service > > with UserToken) using some cxf specific apis, the code is given below > > > > Is there any way if I can develop the jaxws client with ws-security > support > > without using cxf specific apis like org.apache.cxf.endpoint.Client and > > org.apache.cxf.frontend.ClientProxy etc? (as I want to integrate only > > ws-security jars in CXF) > > > > Is there any sample code available for the same? > > > > //quote > > > > package demo.order.client; > > > > import java.net.URL; > > import java.util.HashMap; > > import java.util.Map; > > > > import javax.xml.namespace.QName; > > import javax.xml.ws.Service; > > import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor; > > import org.apache.cxf.endpoint.Endpoint; > > import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor; > > import org.apache.ws.security.WSConstants; > > import org.apache.ws.security.handler.WSHandlerConstants; > > import org.apache.cxf.endpoint.Client; > > import org.apache.cxf.frontend.ClientProxy; > > > > import demo.order.Order; > > import demo.order.OrderProcess; > > > > public class CL { > > > > public CL() { > > } > > > > public static void main(String args[]) throws Exception { > > Service service=Service.create(new URL(" > > http://localhost:8095/orderapp/OrderProcess?wsdl"), new QName(" > > http://order.demo/", "OrderProcessImplService")); > > OrderProcess hw = service.getPort(OrderProcess.class); > > > > Client client = ClientProxy.getClient(hw); > > > > Map outProps = new HashMap(); > > > > > outProps.put(WSHandlerConstants.ACTION,WSHandlerConstants.USERNAME_TOKEN); > > outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT); > > outProps.put(WSHandlerConstants.USER, "ws-client"); > > outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, > > ClientPasswordCallback.class.getName()); > > > > > > WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps); > > Endpoint endPoint = client.getEndpoint(); > > endPoint.getOutInterceptors().add(wssOut); > > endPoint.getOutInterceptors().add(new SAAJOutInterceptor()); > > > > Order order = new Order(); > > System.out.println(hw.processOrder(order)); > > > > } > > > > } > > > > //unquote > > > > > > I am trying the following code but it gives me a SOAPFaultException, > > > > > > //quote > > > > public static void main(String args[]) throws Exception > > { > > Service service=Service.create(new URL(" > > http://localhost:8095/orderapp/OrderProcess?wsdl"), new QName(" > > http://order.demo/", "OrderProcessImplService")); > > OrderProcess hw = service.getPort(OrderProcess.class); > > > > Map outProps = new HashMap(); > > > > > outProps.put(WSHandlerConstants.ACTION,WSHandlerConstants.USERNAME_TOKEN); > > outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT); > > > > > ((BindingProvider)hw).getRequestContext().put(BindingProvider.USERNAME_PROP > >ERTY, "ws-client"); > > > ((BindingProvider)hw).getRequestContext().put(BindingProvider.PASSWORD_PROP > >ERTY, "password"); > > > ((BindingProvider)hw).getRequestContext().put(WSHandlerConstants.ACTION,WSH > >andlerConstants.USERNAME_TOKEN); > > > ((BindingProvider)hw).getRequestContext().put(WSHandlerConstants.PASSWORD_T > >YPE, WSConstants.PW_TEXT); > > > > Order order = new Order(); > > System.out.println(hw.processOrder(order)); > > > > } > > > > //unquote > > > > Exception: > > > > Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: An error > > was discovered processing the <wsse:Security> header > > at > > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) > > at $Proxy34.processOrder(Unknown Source) > > at demo.order.client.CL.main(CL.java:74) > > Caused by: org.apache.cxf.binding.soap.SoapFault: An error was discovered > > processing the <wsse:Security> header > > at > > > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalF > >ault(Soap11FaultInInterceptor.java:75) at > > > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess > >age(Soap11FaultInInterceptor.java:46) at > > > org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMess > >age(Soap11FaultInInterceptor.java:35) at > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > >n.java:226) at > > > org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(Ab > >stractFaultChainInitiatorObserver.java:96) at > > > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage > >(CheckFaultInterceptor.java:69) at > > > org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage > >(CheckFaultInterceptor.java:34) at > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > >n.java:226) at > > org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:641) at > > > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > >eInternal(HTTPConduit.java:2131) at > > > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > >e(HTTPConduit.java:2010) at > > > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon > >duit.java:1935) at > > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) > > at > > org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:626) at > > > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInte > >rceptor.handleMessage(MessageSenderInterceptor.java:62) at > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > >n.java:226) at > > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:469) at > > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299) at > > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251) at > > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at > > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) > > ... 2 more > > > > > > > > > > > > Can anyone correct me? Am I missing something? > > > > Thanks in advance for your help. > > > > Regards, > > Rahul > > -- > Daniel Kulp > jasmine05@example.org > http://www.dankulp.com/blog > --0015174c17a888ddcb046b51a83f-- From jasmine05@example.org Tue Jun 02 01:44:43 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 38608 invoked from network); 2 Jun 2009 01:44:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Jun 2009 01:44:43 -0000 Received: (qmail 50134 invoked by uid 500); 2 Jun 2009 01:44:55 -0000 Delivered-To: jasmine05@example.org Received: (qmail 50039 invoked by uid 500); 2 Jun 2009 01:44:55 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 50027 invoked by uid 99); 2 Jun 2009 01:44:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 01:44:55 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mail-ew0-f161.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 01:44:45 +0000 Received: by ewy5 with SMTP id 5so11556083ewy.30 for <jasmine05@example.org>; Mon, 01 Jun 2009 18:44:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=YMgehWkB1U8XpSzOsplmvREEkmEF7DDcZfKkbtIl7ZM=; b=JxwSluHYDZSrzk25d0FCfFIlHx3+uqOzHagM1xlL2NBhhweyyp0RcM3xYrbAjeqc51 j6OGt/oFneoSD7ct/CeE6Wr92HwM4bQ5I+wEPF/Rh+3hjQGdSvFdQmEu5smglsH1OsjX mZJq+nz/qf0AflSU1irmovcthPfbsmn7toK4g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=RVGo3PHA7l1OOM1MiLvIvEFlh8UzLz9+s/sERM6TyfgJU7t0THzGS33ho5mFnLqZAA 2o1Wq1uzLlcyDNFgR4sDXWcBtCOZStbGFGeks5f44Mvm8mAvqAygOoZlZ8daOeGRerhQ VG0KBP2pG9auG7zGXCoXndb22M0zo7WdYXhHM= MIME-Version: 1.0 Received: by 83.161.120.155 with SMTP id 5mr2054183wex.217.1243907065413; Mon, 01 Jun 2009 18:44:25 -0700 (PDT) Date: Mon, 1 Jun 2009 21:44:25 -0400 Message-ID: <jasmine05@example.org> Subject: Aegis schema validation design challenge From: Benson Margulies <jasmine05@example.org> To: Daniel Kulp <jasmine05@example.org>, CXF Dev <jasmine05@example.org>, Tatu Saloranta <jasmine05@example.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org The way Tatu has woodstox validation set up, it would be desirable to activate it just before reading the first part-element. The code I've got so far wants to see the part, and thus get dispatched into the data binding, and then turn on validation. By which time, it's (for now) too late. It occurs to me that perhaps there's enough information to do this the other way. An endpoint can only have one data binding going, I think, so some sort of interceptor magic could call the DB and allow it to set validation on the stream before reading the part elements? From jasmine05@example.org Tue Jun 02 02:52:54 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 65680 invoked from network); 2 Jun 2009 02:52:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Jun 2009 02:52:54 -0000 Received: (qmail 87150 invoked by uid 500); 2 Jun 2009 02:53:06 -0000 Delivered-To: jasmine05@example.org Received: (qmail 87084 invoked by uid 500); 2 Jun 2009 02:53:06 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 87074 invoked by uid 99); 2 Jun 2009 02:53:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 02:53:06 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [83.161.120.155] (HELO server.dankulp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 02:52:54 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id 2740D50704CE; Mon, 1 Jun 2009 22:52:33 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.2.1-gr1 (2007-05-02) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter.nFyGoZXh3x Received: from dilbert.localnet (c-24-91-141-225.hsd1.ma.comcast.net [83.161.120.155]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 5C79550704C8 for <jasmine05@example.org>; Mon, 1 Jun 2009 22:52:32 -0400 (EDT) From: Daniel Kulp <jasmine05@example.org> To: jasmine05@example.org Subject: CXF on Sonar Date: Mon, 1 Jun 2009 22:52:32 -0400 User-Agent: KMail/1.11.3 (Linux/2.6.29-gentoo; KDE/4.2.3; x86_64; ; ) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <jasmine05@example.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-3.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.1-gr1 Just an FYI.... The Sonar folks have added CXF to their public Sonar server: http://nemo.sonar.codehaus.org/project/index/117804 If anyone is looking for something to help contribute to CXF, that's a great place to start. Look at the various violations, code coverage areas, etc... and submit patches. :-) -- Daniel Kulp jasmine05@example.org http://www.dankulp.com/blog From jasmine05@example.org Tue Jun 02 16:42:11 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 88698 invoked from network); 2 Jun 2009 16:42:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Jun 2009 16:42:11 -0000 Received: (qmail 23018 invoked by uid 500); 2 Jun 2009 16:42:23 -0000 Delivered-To: jasmine05@example.org Received: (qmail 22944 invoked by uid 500); 2 Jun 2009 16:42:23 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 22934 invoked by uid 99); 2 Jun 2009 16:42:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 16:42:22 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [83.161.120.155] (HELO server.dankulp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 16:42:12 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id A532650704DF; Tue, 2 Jun 2009 12:41:50 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.2.1-gr1 (2007-05-02) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter.S7bxuqGSZI Received: from dilbert.localnet (c-24-91-141-225.hsd1.ma.comcast.net [83.161.120.155]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 47A4D50704C8; Tue, 2 Jun 2009 12:41:49 -0400 (EDT) From: Daniel Kulp <jasmine05@example.org> To: jasmine05@example.org Subject: Re: Aegis schema validation design challenge Date: Tue, 2 Jun 2009 12:41:48 -0400 User-Agent: KMail/1.11.3 (Linux/2.6.29-gentoo; KDE/4.2.3; x86_64; ; ) Cc: Benson Margulies <jasmine05@example.org>, Tatu Saloranta <jasmine05@example.org> References: <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <jasmine05@example.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-3.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=unavailable version=3.2.1-gr1 On Mon June 1 2009 9:44:25 pm Benson Margulies wrote: > The way Tatu has woodstox validation set up, it would be desirable to > activate it just before reading the first part-element. The code I've > got so far wants to see the part, and thus get dispatched into the > data binding, and then turn on validation. By which time, it's (for > now) too late. > > It occurs to me that perhaps there's enough information to do this the > other way. An endpoint can only have one data binding going, I think, > so some sort of interceptor magic could call the DB and allow it to > set validation on the stream before reading the part elements? Yea. That makes complete sense. An interceptor that runs after the reading of the soap:body element that would set this up would definitely be the preferred route for doc/lit endpoints. For RPC/Lit, I think the current setup is correct (as you don't validate the element name, just the type), but those are rare (and don't work with JAXB validation either). In the AegisDataBinding init method, you should be able to add an interceptor to the Service object. I believe that would work. -- Daniel Kulp jasmine05@example.org http://www.dankulp.com/blog From jasmine05@example.org Tue Jun 02 17:53:22 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 22535 invoked from network); 2 Jun 2009 17:53:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Jun 2009 17:53:22 -0000 Received: (qmail 62156 invoked by uid 500); 2 Jun 2009 17:53:34 -0000 Delivered-To: jasmine05@example.org Received: (qmail 62114 invoked by uid 500); 2 Jun 2009 17:53:34 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 62104 invoked by uid 99); 2 Jun 2009 17:53:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 17:53:34 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO server.dankulp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2009 17:53:23 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id 9EC4A50704D1; Tue, 2 Jun 2009 13:53:02 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.2.1-gr1 (2007-05-02) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter.JTc9lc35fW Received: from dilbert.localnet (c-24-91-141-225.hsd1.ma.comcast.net [83.161.120.155]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id A47E350704C8; Tue, 2 Jun 2009 13:53:01 -0400 (EDT) From: Daniel Kulp <jasmine05@example.org> To: jasmine05@example.org Subject: Re: Improving JBossWS-CXF Client Side Integration Date: Tue, 2 Jun 2009 13:53:01 -0400 User-Agent: KMail/1.11.3 (Linux/2.6.29-gentoo; KDE/4.2.3; x86_64; ; ) Cc: Richard Opalka <jasmine05@example.org>, "jbossws-dev" <jasmine05@example.org> References: <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <jasmine05@example.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-3.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=unavailable version=3.2.1-gr1 Well, couple things spring to mind: Option 1: requires no changes to CXF, but requires some classloader magic on your side Write your own javax.xml.ws.spi.Provider that probably subclasses ours and overrides the method: @Override public ServiceDelegate createServiceDelegate(URL url, QName qname, Class cls) { Bus bus = BusFactory.getThreadDefaultBus(); return new ServiceImpl(bus, url, qname, cls); } In your case, return a subclass of our ServiceImpl the does your additional stuff. That way, any cast we may do to ServiceImpl would still work (not sure if we do it anywhere, but just in case). That way, you won't really have an extra delegation layer. Just overrides. The TRICK is getting your provider to be used instead of ours. Thus, you may need to make sure your META-INF/services/javax.xml.ws.spi.Provider file is picked up before our (or use the system property to force yours). Option 2: make changes to CXF. Couple of ideas here. One could be in our createServiceDelegate method above, we do something like: Provider p = bus.getExtension(Provider.class); if (p != null) { return p.createServiceDelegate(....); } return new ServiceImpl(....); or similar. Thus, if a custom Provider is found on the Bus, we'll delegate to it. Heck, we could also put a static "Provider delegate;" field on our ProviderImpl that you could set to your provider prior to any calls. Or, we could look for a property someplace for the name of the "ServiceImpl" class to instantiate. If set, use reflection to create the ServiceImpl thing if set. Anyway, those are my immediate thoughts. Dan On Mon May 25 2009 9:21:35 am Richard Opalka wrote: > Hi CXF Team, > > > We've spent some time with CXF source code analysis but without success. > Related issue is: https://jira.jboss.org/jira/browse/JBWS-2521 > We would like to remove one very ugly JBossWS CXF JAX-WS client proxy > integration hack related to service references (method > hackServiceDelegate()), > see: > > http://fpaste.org/paste/12892 > > We're registering our custom ServiceDelegate handler (via reflection) > in original proxy > and we delegate each call to CXF original service delegate there, with > one exception. > We're propagating service ref properties for every port creation before > returning > from our custom service delegate (method propagateProps(T proxy, > Class<T> serviceEndpointInterface)), > see: > > http://fpaste.org/paste/12893 > > Could you guys, with excellent CXF architecture knowledge, give us > some hints how > to improve our JBossWS CXF JAX-WS client integration and remove > aforementioned ugly hack? > > JBossWS Team > > PS: We're looking forward for your suggestions ;) -- Daniel Kulp jasmine05@example.org http://www.dankulp.com/blog From jasmine05@example.org Wed Jun 03 06:11:48 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 83018 invoked from network); 3 Jun 2009 06:11:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Jun 2009 06:11:47 -0000 Received: (qmail 37708 invoked by uid 500); 3 Jun 2009 06:11:59 -0000 Delivered-To: jasmine05@example.org Received: (qmail 37630 invoked by uid 500); 3 Jun 2009 06:11:59 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 37618 invoked by uid 99); 3 Jun 2009 06:11:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 06:11:59 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mx2.redhat.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 06:11:46 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [83.161.120.155]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n536BPS3014314; Wed, 3 Jun 2009 02:11:25 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [83.161.120.155]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n536BOP0017867; Wed, 3 Jun 2009 02:11:24 -0400 Received: from localhost.localdomain (vpn-10-7.str.redhat.com [83.161.120.155]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n536BMNk029814; Wed, 3 Jun 2009 02:11:23 -0400 Message-ID: <jasmine05@example.org> Date: Wed, 03 Jun 2009 08:11:22 +0200 From: Richard Opalka <jasmine05@example.org> User-Agent: Thunderbird 83.161.120.155 (X11/20090105) MIME-Version: 1.0 To: jasmine05@example.org CC: jbossws-dev <jasmine05@example.org> Subject: Re: Improving JBossWS-CXF Client Side Integration References: <jasmine05@example.org> <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 83.161.120.155 X-Virus-Checked: Checked by ClamAV on apache.org Hi Daniel, Yes, I know about solution 1) you suggested. However I don't like it. It's hacky and could cause a lot of troubles to our customers. Thus I'd like to go the way to modify CXF code base. Before I'll write my suggestion let me clarify that we don't need to wrap your ServiceDelegate. We just need to register properties on the proxy and that can be achieved using listener approach. So here are my thoughts how it could be achieved in another way (no delegation): --- ad1) --- // CXF provides listener interface package org.apache.cxf.jaxws; public interface ServiceListener { void onPortCreated(T proxy, Class<T> sei); } --- ad2) --- // JBossWS provides listener implementation package org.jboss.wsf.stack.cxf.client; public class ServiceListenerImpl implements ServiceListener { public void onPortCreated(T proxy, Class<T> sei) { // ... our integration code } } --- ad3) --- // JBossWS somehow registers the listener --- ad4) --- // finally replace the following code in org.apache.cxf.jaxws.ServiceImpl.createPort(...) protected <T> T createPort(QName portName, EndpointReferenceType epr, Class<T> serviceEndpointInterface, WebServiceFeature... features) { // ... return serviceEndpointInterface.cast(obj); } // with the following code: protected <T> T createPort(QName portName, EndpointReferenceType epr, Class<T> serviceEndpointInterface, WebServiceFeature... features) { // ... T proxy = serviceEndpointInterface.cast(obj); for (ServiceListener listener : listeners) { listener.onPortCreated(proxy, serviceEndpointInterface); } return proxy; } If you like this approach then let's disscuss how ad3) could be achieved, i.e. how to register the listener on the service. Cheers, Richard Daniel Kulp wrote: > Well, couple things spring to mind: > > Option 1: requires no changes to CXF, but requires some classloader magic on > your side > Write your own javax.xml.ws.spi.Provider that probably subclasses ours and > overrides the method: > @Override > public ServiceDelegate createServiceDelegate(URL url, QName qname, > Class cls) { > Bus bus = BusFactory.getThreadDefaultBus(); > return new ServiceImpl(bus, url, qname, cls); > } > > In your case, return a subclass of our ServiceImpl the does your additional > stuff. That way, any cast we may do to ServiceImpl would still work (not > sure if we do it anywhere, but just in case). That way, you won't really have > an extra delegation layer. Just overrides. The TRICK is getting your > provider to be used instead of ours. Thus, you may need to make sure your > META-INF/services/javax.xml.ws.spi.Provider file is picked up before our (or > use the system property to force yours). > > > Option 2: make changes to CXF. Couple of ideas here. One could be in our > createServiceDelegate method above, we do something like: > > > Provider p = bus.getExtension(Provider.class); > if (p != null) { > return p.createServiceDelegate(....); > } > return new ServiceImpl(....); > > or similar. Thus, if a custom Provider is found on the Bus, we'll delegate > to it. Heck, we could also put a static "Provider delegate;" field on our > ProviderImpl that you could set to your provider prior to any calls. > > Or, we could look for a property someplace for the name of the "ServiceImpl" > class to instantiate. If set, use reflection to create the ServiceImpl thing > if set. > > Anyway, those are my immediate thoughts. > > Dan > > > > On Mon May 25 2009 9:21:35 am Richard Opalka wrote: > >> Hi CXF Team, >> >> >> We've spent some time with CXF source code analysis but without success. >> Related issue is: https://jira.jboss.org/jira/browse/JBWS-2521 >> We would like to remove one very ugly JBossWS CXF JAX-WS client proxy >> integration hack related to service references (method >> hackServiceDelegate()), >> see: >> >> http://fpaste.org/paste/12892 >> >> We're registering our custom ServiceDelegate handler (via reflection) >> in original proxy >> and we delegate each call to CXF original service delegate there, with >> one exception. >> We're propagating service ref properties for every port creation before >> returning >> from our custom service delegate (method propagateProps(T proxy, >> Class<T> serviceEndpointInterface)), >> see: >> >> http://fpaste.org/paste/12893 >> >> Could you guys, with excellent CXF architecture knowledge, give us >> some hints how >> to improve our JBossWS CXF JAX-WS client integration and remove >> aforementioned ugly hack? >> >> JBossWS Team >> >> PS: We're looking forward for your suggestions ;) >> > > -- Richard Opalka JBoss Software Engineer Mail: jasmine05@example.org Mobile: (450)616-2807 From jasmine05@example.org Wed Jun 03 08:14:24 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 23147 invoked from network); 3 Jun 2009 08:14:24 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Jun 2009 08:14:24 -0000 Received: (qmail 71381 invoked by uid 500); 3 Jun 2009 08:14:36 -0000 Delivered-To: jasmine05@example.org Received: (qmail 71322 invoked by uid 500); 3 Jun 2009 08:14:36 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 71307 invoked by uid 99); 3 Jun 2009 08:14:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 08:14:35 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO mx2.redhat.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 08:14:26 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [83.161.120.155]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n538E4BT013302; Wed, 3 Jun 2009 04:14:04 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [83.161.120.155]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n538E3uu020025; Wed, 3 Jun 2009 04:14:04 -0400 Received: from [83.161.120.155] (vpn-10-189.str.redhat.com [83.161.120.155]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n538E26k016414; Wed, 3 Jun 2009 04:14:03 -0400 Message-ID: <jasmine05@example.org> Date: Wed, 03 Jun 2009 10:14:02 +0200 From: Alessio Soldano <jasmine05@example.org> User-Agent: Thunderbird 83.161.120.155 (X11/20090105) MIME-Version: 1.0 To: jasmine05@example.org CC: jbossws-dev <jasmine05@example.org> Subject: Re: Improving JBossWS-CXF Client Side Integration References: <jasmine05@example.org> <jasmine05@example.org> <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 83.161.120.155 X-Virus-Checked: Checked by ClamAV on apache.org Hi Dan and Richard, Richard Opalka wrote: > Hi Daniel, > > Yes, I know about solution 1) you suggested. However I don't like it. > It's hacky and could cause a lot of troubles to our customers. > Thus I'd like to go the way to modify CXF code base. I would not say it's hacky, as providing a custom javax.xml.ws.spi.Provider impl is something quite common. However, just to clarify, should another solution be found and put in place without much trouble, I'd prefer that. The reason being we've doing something similar (leveraging the META-INF/service load system) in other area in the past and that taught us this can lead to a lot of misunderstandings with users building up the classpath the wrong way and thus not getting things working. Thanks for the collaboration Dan. Cheers Alessio -- Alessio Soldano Web Service Lead JBoss, a division of Red Hat From jasmine05@example.org Wed Jun 03 18:08:32 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 22591 invoked from network); 3 Jun 2009 18:08:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Jun 2009 18:08:31 -0000 Received: (qmail 21203 invoked by uid 500); 3 Jun 2009 18:08:43 -0000 Delivered-To: jasmine05@example.org Received: (qmail 21136 invoked by uid 500); 3 Jun 2009 18:08:43 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 21126 invoked by uid 99); 3 Jun 2009 18:08:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 18:08:43 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO server.dankulp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 18:08:32 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id CA97150704D7; Wed, 3 Jun 2009 14:08:11 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.2.1-gr1 (2007-05-02) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter.ft08FiBmdp Received: from dilbert.localnet (c-24-91-141-225.hsd1.ma.comcast.net [83.161.120.155]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 28B3B50704AE for <jasmine05@example.org>; Wed, 3 Jun 2009 14:08:08 -0400 (EDT) From: Daniel Kulp <jasmine05@example.org> To: jasmine05@example.org Subject: git mirror of dOSGi now created..... Date: Wed, 3 Jun 2009 14:08:07 -0400 User-Agent: KMail/1.11.3 (Linux/2.6.29-gentoo; KDE/4.2.3; x86_64; ; ) MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <jasmine05@example.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-3.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.1-gr1 For you git folks, a mirror of the dOSGi stuff in now available for the Distributed OSGi stuff: git://git.apache.org/cxf-dosgi.git http://git.apache.org/cxf-dosgi.git It SHOULD appear on github (http://github.com/apache/) probably tonight. Thus, github users should be able to fork it there as well. For committers, you can use the "git-svn" stuff to do git stuff and then "dcommit" it to Apache. Some instructions are at: http://wiki.apache.org/general/GitAtApache FYI: all the commits to CXF trunk I've done in the last month (except for the release) have been done through git-svn. Thus, I know it works. :-) -- Daniel Kulp jasmine05@example.org http://www.dankulp.com/blog From jasmine05@example.org Wed Jun 03 19:14:05 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 61651 invoked from network); 3 Jun 2009 19:14:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Jun 2009 19:14:05 -0000 Received: (qmail 14140 invoked by uid 500); 3 Jun 2009 19:14:17 -0000 Delivered-To: jasmine05@example.org Received: (qmail 14061 invoked by uid 500); 3 Jun 2009 19:14:16 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 14051 invoked by uid 99); 3 Jun 2009 19:14:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 19:14:16 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO server.dankulp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 19:14:05 +0000 Received: by server.dankulp.com (Postfix, from userid 5000) id 86E1850704D7; Wed, 3 Jun 2009 15:13:44 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.2.1-gr1 (2007-05-02) on server.dankulp.com X-Spam-Level: X-Msg-File: /tmp/mailfilter.Rbghec8rdC Received: from dilbert.localnet (c-24-91-141-225.hsd1.ma.comcast.net [83.161.120.155]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.dankulp.com (Postfix) with ESMTPSA id 67FD150704AE; Wed, 3 Jun 2009 15:13:43 -0400 (EDT) From: Daniel Kulp <jasmine05@example.org> To: jasmine05@example.org Subject: Re: Improving JBossWS-CXF Client Side Integration Date: Wed, 3 Jun 2009 15:13:43 -0400 User-Agent: KMail/1.11.3 (Linux/2.6.29-gentoo; KDE/4.2.3; x86_64; ; ) Cc: Richard Opalka <jasmine05@example.org>, "jbossws-dev" <jasmine05@example.org> References: <jasmine05@example.org> <jasmine05@example.org> <jasmine05@example.org> In-Reply-To: <jasmine05@example.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <jasmine05@example.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-3.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.1-gr1 Richard, Modifying the generated code is not a doable solution. That would tie them to CXF which would then violate the JAX-WS spec and TCK and such. Thus, that's not an option. However, you could be on the right track. In our ServiceImpl, all the "getPort" calls forward into the protected "createPort" method (line 384 of ServiceImpl). We COULD put your call to the listener in there. The better option would be to push it even furthur into CXF and put it into the JaxWsProxyFactoryBean/ClientProxyFactoryBean.create() call. That way, if they end up using the spring "jaxws:client" call or use the factories directly themselves, the listeners would be invoked as well. Dan On Wed June 3 2009 2:11:22 am Richard Opalka wrote: > Hi Daniel, > > Yes, I know about solution 1) you suggested. However I don't like it. > It's hacky and could cause a lot of troubles to our customers. > Thus I'd like to go the way to modify CXF code base. > > Before I'll write my suggestion let me clarify that we don't need to > wrap your ServiceDelegate. We just need to register properties > on the proxy and that can be achieved using listener approach. > So here are my thoughts how it could be achieved in another way (no > delegation): > > --- > ad1) > --- > // CXF provides listener interface > package org.apache.cxf.jaxws; > > public interface ServiceListener > { > void onPortCreated(T proxy, Class<T> sei); > } > --- > ad2) > --- > // JBossWS provides listener implementation > package org.jboss.wsf.stack.cxf.client; > > public class ServiceListenerImpl implements ServiceListener > { > public void onPortCreated(T proxy, Class<T> sei) > { > // ... our integration code > } > } > --- > ad3) > --- > // JBossWS somehow registers the listener > --- > ad4) > --- > // finally replace the following code in > org.apache.cxf.jaxws.ServiceImpl.createPort(...) > protected <T> T createPort(QName portName, EndpointReferenceType epr, > Class<T> serviceEndpointInterface, WebServiceFeature... features) > { > // ... > return serviceEndpointInterface.cast(obj); > } > // with the following code: > protected <T> T createPort(QName portName, EndpointReferenceType epr, > Class<T> serviceEndpointInterface, WebServiceFeature... features) > { > // ... > T proxy = serviceEndpointInterface.cast(obj); > for (ServiceListener listener : listeners) > { > listener.onPortCreated(proxy, serviceEndpointInterface); > } > return proxy; > } > > If you like this approach then let's disscuss how ad3) could be > achieved, i.e. how to register the listener on the service. > > Cheers, > > Richard > > Daniel Kulp wrote: > > Well, couple things spring to mind: > > > > Option 1: requires no changes to CXF, but requires some classloader magic > > on your side > > Write your own javax.xml.ws.spi.Provider that probably subclasses ours > > and overrides the method: > > @Override > > public ServiceDelegate createServiceDelegate(URL url, QName qname, > > Class cls) { > > Bus bus = BusFactory.getThreadDefaultBus(); > > return new ServiceImpl(bus, url, qname, cls); > > } > > > > In your case, return a subclass of our ServiceImpl the does your > > additional stuff. That way, any cast we may do to ServiceImpl would > > still work (not sure if we do it anywhere, but just in case). That way, > > you won't really have an extra delegation layer. Just overrides. > > The TRICK is getting your provider to be used instead of ours. Thus, > > you may need to make sure your > > META-INF/services/javax.xml.ws.spi.Provider file is picked up before our > > (or use the system property to force yours). > > > > > > Option 2: make changes to CXF. Couple of ideas here. One could be in > > our createServiceDelegate method above, we do something like: > > > > > > Provider p = bus.getExtension(Provider.class); > > if (p != null) { > > return p.createServiceDelegate(....); > > } > > return new ServiceImpl(....); > > > > or similar. Thus, if a custom Provider is found on the Bus, we'll > > delegate to it. Heck, we could also put a static "Provider delegate;" > > field on our ProviderImpl that you could set to your provider prior to > > any calls. > > > > Or, we could look for a property someplace for the name of the > > "ServiceImpl" class to instantiate. If set, use reflection to create > > the ServiceImpl thing if set. > > > > Anyway, those are my immediate thoughts. > > > > Dan > > > > On Mon May 25 2009 9:21:35 am Richard Opalka wrote: > >> Hi CXF Team, > >> > >> > >> We've spent some time with CXF source code analysis but without > >> success. Related issue is: https://jira.jboss.org/jira/browse/JBWS-2521 > >> We would like to remove one very ugly JBossWS CXF JAX-WS client proxy > >> integration hack related to service references (method > >> hackServiceDelegate()), > >> see: > >> > >> http://fpaste.org/paste/12892 > >> > >> We're registering our custom ServiceDelegate handler (via reflection) > >> in original proxy > >> and we delegate each call to CXF original service delegate there, with > >> one exception. > >> We're propagating service ref properties for every port creation before > >> returning > >> from our custom service delegate (method propagateProps(T proxy, > >> Class<T> serviceEndpointInterface)), > >> see: > >> > >> http://fpaste.org/paste/12893 > >> > >> Could you guys, with excellent CXF architecture knowledge, give us > >> some hints how > >> to improve our JBossWS CXF JAX-WS client integration and remove > >> aforementioned ugly hack? > >> > >> JBossWS Team > >> > >> PS: We're looking forward for your suggestions ;) -- Daniel Kulp jasmine05@example.org http://www.dankulp.com/blog From jasmine05@example.org Wed Jun 03 19:19:03 2009 Return-Path: <jasmine05@example.org> Delivered-To: jasmine05@example.org Received: (qmail 63005 invoked from network); 3 Jun 2009 19:19:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Jun 2009 19:19:03 -0000 Received: (qmail 18252 invoked by uid 500); 3 Jun 2009 19:19:14 -0000 Delivered-To: jasmine05@example.org Received: (qmail 18166 invoked by uid 500); 3 Jun 2009 19:19:14 -0000 Mailing-List: contact jasmine05@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:jasmine05@example.org> List-Unsubscribe: <mailto:jasmine05@example.org> List-Post: <mailto:jasmine05@example.org> List-Id: <dev.cxf.apache.org> Reply-To: jasmine05@example.org Delivered-To: mailing list jasmine05@example.org Received: (qmail 18156 invoked by uid 99); 3 Jun 2009 19:19:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 19:19:14 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of jasmine05@example.org designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO qw-out-1920.google.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jun 2009 19:19:01 +0000 Received: by qw-out-1920.google.com with SMTP id 5so157118qwf.30 for <jasmine05@example.org>; Wed, 03 Jun 2009 12:18:39 -0700 (PDT) Received: by 83.161.120.155 with SMTP id 21mr1420216qaz.77.1244056719829; Wed, 03 Jun 2009 12:18:39 -0700 (PDT) Received: from ?83.161.120.155? (router.savoirtech.com [83.161.120.155]) by mx.google.com with ESMTPS id 6sm51187qwk.20.283.161.120.155.18.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 03 Jun 2009 12:18:39 -0700 (PDT) Sender: Jeff Genender <jasmine05@example.org> Message-Id: <jasmine05@example.org> From: Jeff Genender <jasmine05@example.org> To: jasmine05@example.org In-Reply-To: <jasmine05@example.org> Content-Type: multipart/alternative; boundary=Apple-Mail-32--538455930 Mime-Version: 1.0 (Apple Message framework v935.3) Subject: Re: Improving JBossWS-CXF Client Side Integration Date: Wed, 3 Jun 2009 13:18:36 -0600 References: <jasmine05@example.org> <jasmine05@example.org> <jasmine05@example.org> <jasmine05@example.org> X-Mailer: Apple Mail (2.935.3) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-32--538455930 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit I actually prefer the injection/override of an implementation via a property... This is quite common (see the XML parser, JACC, etc) and sounds like it could lend itself very well to what is trying to be done here. Jeff On Jun 3, 2009, at 1:13 PM, Daniel Kulp wrote: > > Richard, > > Modifying the generated code is not a doable solution. That would > tie them > to CXF which would then violate the JAX-WS spec and TCK and such. > Thus, > that's not an option. > > However, you could be on the right track. In our ServiceImpl, all > the > "getPort" calls forward into the protected "createPort" method (line > 384 of > ServiceImpl). We COULD put your
{'source': 'Apache Software Foundation Public Mail Archives'}