You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2009/08/02 06:01:23 UTC

svn commit: r799978 - in /servicemix/components/engines/servicemix-cxf-se/trunk/src/test: java/org/apache/servicemix/cxfse/ resources/org/apache/servicemix/cxfse/proxytarget/

Author: ffang
Date: Sun Aug  2 04:01:23 2009
New Revision: 799978

URL: http://svn.apache.org/viewvc?rev=799978&view=rev
Log:
[SMXCOMP-601]cxf client proxy in smx should be able to use jaxws way to get/set properties from/to underlying JBI normalized message

Modified:
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/TestMtomImpl.java
    servicemix/components/engines/servicemix-cxf-se/trunk/src/test/resources/org/apache/servicemix/cxfse/proxytarget/xbean.xml

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java?rev=799978&r1=799977&r2=799978&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/CxfSeClientProxyTest.java Sun Aug  2 04:01:23 2009
@@ -133,6 +133,27 @@
                 io.getOutMessage()).indexOf("Hello ffang 3") > 0);
         client.done(io);
         
+        client = new DefaultServiceMixClient(container);
+        io = client.createInOutExchange();
+        io.setService(new QName("http://apache.org/hello_world_soap_http", "SOAPService"));
+        io.setInterfaceName(new QName("http://apache.org/hello_world_soap_http", "Greeter"));
+        io.setOperation(new QName("http://apache.org/hello_world_soap_http", "greetMe"));
+        LOG.info("test property get/set");
+        io.getInMessage().setContent(new StringSource(
+                "<message xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
+              + "<part> "
+              + "<greetMe xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+              + "property"
+              + "</requestType></greetMe>"
+              + "</part> "
+              + "</message>"));
+        client.sendSync(io);
+        assertTrue(new SourceTransformer().contentToString(
+                io.getOutMessage()).indexOf("Hello ffang") > 0);
+        client.done(io);
+        
+        
+        
     }
     
     protected void tearDown() throws Exception {

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java?rev=799978&r1=799977&r2=799978&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/GreeterImplForClientProxy.java Sun Aug  2 04:01:23 2009
@@ -24,6 +24,7 @@
 import javax.jws.WebService;
 import javax.mail.util.ByteArrayDataSource;
 import javax.xml.ws.AsyncHandler;
+import javax.xml.ws.BindingProvider;
 import javax.xml.ws.Holder;
 import javax.xml.ws.Response;
 
@@ -75,6 +76,14 @@
             } else if ("payload".equals(me)) {
                 ret = getCalculatorPayload().add(1, 2);
                 return "Hello " + me  + " " + ret;
+            } else if ("property".equals(me)) {
+                ((BindingProvider)mtom).getRequestContext().put("test-property", "Hello ");
+                Holder<DataHandler> param = new Holder<DataHandler>();
+                param.value = new DataHandler(new ByteArrayDataSource("foobar".getBytes(), 
+                    "application/octet-stream"));
+                Holder<String> name = new Holder<String>("property");
+                mtom.testXop(name, param);
+                return (String) ((BindingProvider)mtom).getResponseContext().get("test-property");
             }
                         
         } catch (Exception e) {

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/TestMtomImpl.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/TestMtomImpl.java?rev=799978&r1=799977&r2=799978&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/TestMtomImpl.java (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/java/org/apache/servicemix/cxfse/TestMtomImpl.java Sun Aug  2 04:01:23 2009
@@ -21,10 +21,15 @@
 import java.io.InputStream;
 
 import javax.activation.DataHandler;
+import javax.annotation.Resource;
 import javax.jws.WebService;
 import javax.mail.util.ByteArrayDataSource;
 import javax.xml.ws.Holder;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
 
+import org.apache.cxf.jaxws.context.WrappedMessageContext;
+import org.apache.cxf.message.Message;
 import org.apache.cxf.mime.TestMtom;
 
 @WebService(serviceName = "TestMtomService", 
@@ -33,11 +38,21 @@
         endpointInterface = "org.apache.cxf.mime.TestMtom",
             wsdlLocation = "testutils/mtom_xop.wsdl")
 public class TestMtomImpl implements TestMtom {
+    
+    @Resource
+    private WebServiceContext wsContext;
+    
     public void testXop(Holder<String> name, Holder<DataHandler> attachinfo) {
         
         try {
             if ("runtime exception".equals(name.value)) {
                 throw new RuntimeException("throw runtime exception");
+            } else if ("property".equals(name.value)){
+                MessageContext ctx = wsContext.getMessageContext();
+                Message message = ((WrappedMessageContext) ctx).getWrappedMessage();
+                String testProperty = (String) message.get("test-property");
+                message.put("test-property", testProperty + "ffang");
+                return;
             }
             InputStream bis = attachinfo.value.getDataSource().getInputStream();
             byte b[] = new byte[6];

Modified: servicemix/components/engines/servicemix-cxf-se/trunk/src/test/resources/org/apache/servicemix/cxfse/proxytarget/xbean.xml
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-cxf-se/trunk/src/test/resources/org/apache/servicemix/cxfse/proxytarget/xbean.xml?rev=799978&r1=799977&r2=799978&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-cxf-se/trunk/src/test/resources/org/apache/servicemix/cxfse/proxytarget/xbean.xml (original)
+++ servicemix/components/engines/servicemix-cxf-se/trunk/src/test/resources/org/apache/servicemix/cxfse/proxytarget/xbean.xml Sun Aug  2 04:01:23 2009
@@ -47,5 +47,22 @@
           <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
         </cxfse:outFaultInterceptors>
       </cxfse:endpoint>
-    
+      <cxfse:endpoint mtomEnabled="true">
+        <cxfse:pojo>
+          <bean class="org.apache.servicemix.cxfse.TestMtomImpl" />
+        </cxfse:pojo>
+        <cxfse:inInterceptors>
+          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+        </cxfse:inInterceptors>
+        <cxfse:outInterceptors>
+          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+        </cxfse:outInterceptors>
+        <cxfse:inFaultInterceptors>
+          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+        </cxfse:inFaultInterceptors>
+        <cxfse:outFaultInterceptors>
+          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+        </cxfse:outFaultInterceptors>
+      </cxfse:endpoint>
+ 
 </beans>