Return-Path: X-Original-To: apmail-cxf-dev-archive@www.apache.org Delivered-To: apmail-cxf-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EB4F7EB6E for ; Tue, 22 Jan 2013 08:25:29 +0000 (UTC) Received: (qmail 71882 invoked by uid 500); 22 Jan 2013 08:25:28 -0000 Delivered-To: apmail-cxf-dev-archive@cxf.apache.org Received: (qmail 71679 invoked by uid 500); 22 Jan 2013 08:25:27 -0000 Mailing-List: contact dev-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list dev@cxf.apache.org Received: (qmail 71618 invoked by uid 99); 22 Jan 2013 08:25:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jan 2013 08:25:24 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [209.85.220.52] (HELO mail-pa0-f52.google.com) (209.85.220.52) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jan 2013 08:25:17 +0000 Received: by mail-pa0-f52.google.com with SMTP id fb1so3897089pad.25 for ; Tue, 22 Jan 2013 00:24:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:in-reply-to:references :date:message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=kGZrbWzjJkG5Z2b+XQ1BYD4mGamEXT7166fR7Tg84Yk=; b=W2xvXrkD2exZEw9h8lHNFh24mnVqUp+WzzIPQwsjMTyB48MdOgTm5BvYyEtjJSWqls fP1cgX+FHmjybYD2OxQNQJ7y+CKWsHpxpwhZRWtGC9VS6S8FbjbLuhTZL+LEHewnXmIg zqvQe3PW91pTdAmWlCDz3QM4j8mD8A9Jxw+ZRznMx4AeZ6m7ZuAona1jPhfIz3Qjc04/ 5yImghq2An+RTqB+rHu9b3nfGIjyF7hcnshhim9aPNd4kMUuWAC1yUTMO7oJgmusyeLJ hY1ttFeYkrqMlyelKWhY3W9bNhR5HS0AryjUSl0ZUJOWxBdeQFqMd5vexyzXZKPow+KR gy+w== MIME-Version: 1.0 X-Received: by 10.68.254.195 with SMTP id ak3mr37079389pbd.37.1358843095690; Tue, 22 Jan 2013 00:24:55 -0800 (PST) Received: by 10.68.64.105 with HTTP; Tue, 22 Jan 2013 00:24:55 -0800 (PST) X-Originating-IP: [193.176.222.61] In-Reply-To: References: Date: Tue, 22 Jan 2013 09:24:55 +0100 Message-ID: Subject: Re: Usage of WS-RM 1.1 in the client configuration From: John Li To: dev@cxf.apache.org Cc: Dennis Sosnoski Content-Type: multipart/alternative; boundary=047d7b2e12ab062d3904d3dc5015 X-Gm-Message-State: ALoCoQkOiXvUczfPEmihLEwacqL0M+19sHpxeVfXYyaNzOe7zHgF+Q80SDUqoH4kzyHXTPZFfWee X-Virus-Checked: Checked by ClamAV on apache.org --047d7b2e12ab062d3904d3dc5015 Content-Type: text/plain; charset=ISO-8859-1 Hello Aki, Thanks for your help. The settings work as expected. I wil contact Dennis about the latest status on this issue and pointers to where I could possibly start with contributing to this. Meanwhile I setup the environment and get all the unit tests up and running so I can start directly when I have some more information. With kind regards, John On Fri, Jan 18, 2013 at 11:00 AM, Aki Yoshida wrote: > Hi John, > if you are using the sample Client from samples/ws_rm, you can set the > protocol as > > import org.apache.cxf.endpoint.Client; > import org.apache.cxf.frontend.ClientProxy; > ... > Client client = ClientProxy.getClient(port); > client.getRequestContext().put(RMManager.WSRM_VERSION_PROPERTY, > RM11Constants.NAMESPACE_URI); > client.getRequestContext().put(RMManager.WSRM_WSA_VERSION_PROPERTY, > Names.WSA_NAMESPACE_NAME); > > Regarding CXF-4139, as RMP 1.1 assertions are instantiated but > currently not used, as CXF's WS-RM uses 1.0 assertions internally to > read the configuration values like retransmission time etc. I added > some additional configuration properties in the manager schema > sometime ago to expose the options that are not defined in neither > policy versions or not in 1.1. Dennis mentioned me of this policy > unification ticket at that time. You can ping him and ask him if he > has some update. If you can look into it and contribute, that sounds > great. > > thanks. > regards, aki > > 2013/1/17 John Li : > > Hello Aki > > > > Thanks for your quick response! > > I am looking into your suggestion and I wanted to try this approach > before > > I set set the bean property through Spring. But I saw in the > > org.apache.cxf.ws.rm.Proxy file that the client is always instanciated in > > the 'invoke' method. So I am not sure how I can change this runtime > setting > > without overriding the createClient method in the Proxy class. But I > > figured that shouldn't be the way to go so I went for the property > > configuration solution. Can you maybe point me to the place where I can > > access the client in the correct way? Thanks! > > > > Also having seen issue > > CXF-4139 it > > looks like this task has been defined for quite a while. Is there already > > some activity on this? Since I will be working on wsrm for a couple of > > months (at least), maybe I can help/contribute with anything on this > part? > > > > Many thanks in advance! > > > > With kind regards, > > John > > > > > > > > > > On Thu, Jan 17, 2013 at 3:52 PM, Aki Yoshida wrote: > > > >> Hi John, > >> That generic property setting option was marked deprecated many years > >> go, so it's not good to use it. The explicit WSA namespace setting in > >> the bean configuration was added when WS-RM 1.1 was added. But I think > >> it is confusing to set these namespace properties in the RM > >> feature/manager level, as the server side endpoint can accept both > >> versions. Maybe that is why Dennis who worked on RM1.1 implementation > >> didn't add the RM namespace setting property to the bean > >> configuration. > >> > >> So how can you tell the client which WSRM version to use? You can > >> switch it by setting the appropriate runtime context properties. For > >> example, to use the standard WSRM11 and WSA combination, you can > >> write: > >> > >> client.getRequestContext().put(RMManager.WSRM_VERSION_PROPERTY, > >> RM11Constants.NAMESPACE_URI); > >> > client.getRequestContext().put(RMManager.WSRM_WSA_VERSION_PROPERTY, > >> Names.WSA_NAMESPACE_NAME); > >> > >> For the server side, both versions 1.0 and 1.1 are automatically > >> accepted. So you don't need to configure anything special. > >> > >> regards, aki > >> > >> 2013/1/17 John Li : > >> > Hello all, > >> > > >> > I am currently working on an assignment to implement a pilot showing > the > >> > interoperability of WSRM between different technologies. For the > >> reference > >> > implementation I will be using Apache CXF to provide both a server for > >> > other clients to connect to and to provide a sample client > implementation > >> > in Apache CXF. > >> > > >> > After downloading and getting the wsrm sample application up and > running > >> I > >> > have seen in the SOAP messages that WSRM 1.0 is the default protocol > >> since > >> > the namespace is still 'http://schemas.xmlsoap.org/ws/2005/02/rm'. > >> > > >> > Actually the CXF website is not mentioning anything about the > >> > implementation of wsrm 1.1. After some research I found that from > version > >> > 2.5.1 the wsrm 1.1/1.2 has been added to the release. My problem is > that > >> I > >> > could not find how to activate the 1.1 protocol. Specifically I need > the > >> > RMS to send out wsrm 1.1 messages out instead of 1.0 messages. The > RMD I > >> > can see it will react based on the message that comes in so that will > >> > automatically select the right protocol version. > >> > > >> > After looking through the source code of the WSRM implementation I > found > >> > the required settings in the RMManager but based on the > >> > current reliableMessaging configurations the rmNamespace is not a > >> > configuration option. Although I can see in the wsrm-manager.xsd the > >> > following statement: > >> > > >> > >> > processContents="lax" minOccurs="0" maxOccurs="unbounded" > > >> > > >> > Deprecated. To support the older spring:property element that is no > >> longer > >> > used > >> > > >> > > >> > > >> > I could only change this configuration by using the spring property > >> > element. So to make my client implementation sending out wsrm 1.1 > >> messages, > >> > I have used the following two statements in the reliableMessaging > >> > configuration: > >> > > >> > >> > /> > >> > > >> > > >> > Though now it seems to work, the property element is deprecated so I > am > >> > wondering if I am doing it on the correct way or is there a better > way to > >> > do this? > >> > > >> > Also I see in the current implementation that the usage of wsrmp 1.0 > >> > settings is defined in the wsrm-manager.xsd and wsrmp 1.1/1.2 elements > >> are > >> > not supported. As it also is stated in issue > >> > https://issues.apache.org/jira/browse/CXF-4139. Though the wsrmp > >> 1.1/1.2 > >> > has totally different elements, the most important delivery assurance > >> > settings are already supported by Apache CXF wsrm-manager > configurations. > >> > My question on this is: What is the impact for Apache CXF when a WSDL > is > >> > provided that uses the wsrmp 1.1/1.2 policy elements? Will they be > >> ignored > >> > and you need to configure these settings manually through the manager > or > >> > does CXF automatically convert them to the internal manager settings? > >> > > >> > I hope someone can help me with clarifying my questions. > >> > > >> > Many thanks in advance! > >> > > >> > John Li > >> > --047d7b2e12ab062d3904d3dc5015--