You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Guillaume Nodet <gn...@gmail.com> on 2007/07/03 09:25:25 UTC
Re: svn commit: r545036 - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/tools/common/ integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ parent/ rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/ rt/bindings/jbi/src/main/ja
Sorry for the delay, I had missed this commit before.
I'm -1 on this one.
I'm really concerned about the JBIDestination.java changes.
See my comments on servicemix-dev and
https://issues.apache.org/activemq/browse/SM-939
Freeman, can you please rollback the changes on this class please ?
On 6/7/07, ffang@apache.org <ff...@apache.org> wrote:
> Author: ffang
> Date: Wed Jun 6 20:12:40 2007
> New Revision: 545036
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=545036
> Log:
> [CXF-703] add endtoend system test for JBI binding and transport
> [CXF-702] add JBITransportPlugin for wsdl ExtensibilityElement
> [CXF-701] add JBIFaultInInterceptor for JBI binding
>
> Added:
> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java (with props)
> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java (with props)
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java (with props)
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java (with props)
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml (with props)
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml (with props)
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd (with props)
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java (with props)
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java (with props)
> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/
> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/
> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java (with props)
> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl (with props)
> Modified:
> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
> incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
> incubator/cxf/trunk/parent/pom.xml
> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
> incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
> incubator/cxf/trunk/rt/transports/jbi/pom.xml
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
> incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
> incubator/cxf/trunk/systests/pom.xml
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
> incubator/cxf/trunk/testutils/pom.xml
>
> Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java (original)
> +++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java Wed Jun 6 20:12:40 2007
> @@ -153,6 +153,11 @@
> // JMS address
> public static final String NS_JMS_ADDRESS = "http://cxf.apache.org/transports/jms";
> public static final QName JMS_ADDRESS = new QName(NS_JMS_ADDRESS, "address");
> +
> + // JBI address
> + public static final String NS_JBI_ADDRESS = "http://cxf.apache.org/transports/jbi";
> + public static final QName JBI_ADDRESS = new QName(NS_JBI_ADDRESS, "address");
> +
>
> public static final String JMS_ADDR_DEST_STYLE = "destinationStyle";
> public static final String JMS_ADDR_JNDI_URL = "jndiProviderURL";
>
> Modified: incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java (original)
> +++ incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java Wed Jun 6 20:12:40 2007
> @@ -66,7 +66,6 @@
> void registerJBITransport(Bus argBus, CXFServiceUnitManager mgr) throws JBIException {
> try {
> getTransportFactory().setBus(argBus);
> - //getTransportFactory().setServiceUnitManager(mgr);
> } catch (Exception ex) {
> LOG.severe(new Message("SE.FAILED.REGISTER.TRANSPORT.FACTORY",
> LOG).toString());
>
> Modified: incubator/cxf/trunk/parent/pom.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/parent/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/parent/pom.xml (original)
> +++ incubator/cxf/trunk/parent/pom.xml Wed Jun 6 20:12:40 2007
> @@ -61,6 +61,7 @@
> <spring.validation.mode>VALIDATION_AUTO</spring.validation.mode>
>
> <downloadSources>true</downloadSources>
> + <servicemix.version>3.2-incubating-SNAPSHOT</servicemix.version>
> </properties>
>
>
>
> Modified: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java (original)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java Wed Jun 6 20:12:40 2007
> @@ -22,10 +22,12 @@
>
> import org.apache.cxf.binding.AbstractBindingFactory;
> import org.apache.cxf.binding.Binding;
> +import org.apache.cxf.binding.jbi.interceptor.JBIFaultInInterceptor;
> import org.apache.cxf.binding.jbi.interceptor.JBIFaultOutInterceptor;
> import org.apache.cxf.binding.jbi.interceptor.JBIOperationInInterceptor;
> import org.apache.cxf.binding.jbi.interceptor.JBIWrapperInInterceptor;
> import org.apache.cxf.binding.jbi.interceptor.JBIWrapperOutInterceptor;
> +import org.apache.cxf.interceptor.StaxInInterceptor;
> import org.apache.cxf.interceptor.StaxOutInterceptor;
> import org.apache.cxf.service.model.BindingInfo;
> import org.apache.cxf.service.model.BindingOperationInfo;
> @@ -42,6 +44,9 @@
> jb.getOutInterceptors().add(new JBIWrapperOutInterceptor());
> jb.getOutFaultInterceptors().add(new StaxOutInterceptor());
> jb.getOutFaultInterceptors().add(new JBIFaultOutInterceptor());
> +
> + jb.getInFaultInterceptors().add(new StaxInInterceptor());
> + jb.getInFaultInterceptors().add(new JBIFaultInInterceptor());
> return jb;
> }
>
>
> Added: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java (added)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,64 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.binding.jbi;
> +
> +import java.util.ResourceBundle;
> +
> +import org.apache.cxf.common.i18n.Message;
> +import org.apache.cxf.interceptor.Fault;
> +
> +public class JBIFault extends Fault {
> + public static final String JBI_FAULT_PREFIX = "jfns";
> +
> + public static final String JBI_FAULT_ROOT = "JBIFault";
> + public static final String JBI_FAULT_STRING = "faultstring";
> +
> + public static final String JBI_FAULT_DETAIL = "detail";
> +
> + public static final String JBI_FAULT_CODE_SERVER = "SERVER";
> +
> + public static final String JBI_FAULT_CODE_CLIENT = "CLIENT";
> +
> +
> + static final long serialVersionUID = 100000;
> +
> + public JBIFault(Message message, Throwable throwable) {
> + super(message, throwable);
> + }
> +
> + public JBIFault(Message message) {
> + super(message);
> + }
> +
> + public JBIFault(String message) {
> + super(new Message(message, (ResourceBundle) null));
> + }
> +
> + public static JBIFault createFault(Fault f) {
> + if (f instanceof JBIFault) {
> + return (JBIFault) f;
> + }
> + Throwable th = f.getCause();
> + JBIFault jbiFault = new JBIFault(new Message(f.getMessage(), (ResourceBundle) null), th);
> + jbiFault.setDetail(f.getDetail());
> + return jbiFault;
> + }
> +
> +}
>
> Propchange: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Added: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java (added)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,74 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.binding.jbi.interceptor;
> +
> +import java.util.ResourceBundle;
> +
> +import javax.xml.stream.XMLStreamException;
> +import javax.xml.stream.XMLStreamReader;
> +
> +import org.w3c.dom.Element;
> +
> +
> +
> +import org.apache.cxf.binding.jbi.JBIFault;
> +import org.apache.cxf.binding.jbi.JBIMessage;
> +import org.apache.cxf.common.i18n.BundleUtils;
> +
> +
> +import org.apache.cxf.interceptor.Fault;
> +import org.apache.cxf.phase.AbstractPhaseInterceptor;
> +import org.apache.cxf.phase.Phase;
> +import org.apache.cxf.staxutils.DepthXMLStreamReader;
> +import org.apache.cxf.staxutils.FragmentStreamReader;
> +import org.apache.cxf.staxutils.StaxUtils;
> +
> +
> +public class JBIFaultInInterceptor extends AbstractPhaseInterceptor<JBIMessage> {
> +
> + private static final ResourceBundle BUNDLE = BundleUtils.getBundle(JBIFaultInInterceptor.class);
> + public JBIFaultInInterceptor() {
> + setPhase(Phase.UNMARSHAL);
> + }
> +
> + public void handleMessage(JBIMessage message) throws Fault {
> + XMLStreamReader xsr = message.getContent(XMLStreamReader.class);
> + DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr);
> +
> + try {
> +
> + if (!StaxUtils.toNextElement(reader)) {
> + throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEAGAL_JBIFAULT_FORMAT", BUNDLE));
> + }
> + Fault fault = new JBIFault(new org.apache.cxf.common.i18n.Message(JBIFault.JBI_FAULT_STRING,
> + (ResourceBundle) null));
> +
> + if (StaxUtils.toNextElement(reader)) {
> + // handling detail
> + Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement();
> + fault.setDetail(detail);
> + }
> + message.setContent(Exception.class, fault);
> + } catch (XMLStreamException xse) {
> + throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE));
> + }
> +
> + }
> +}
>
> Propchange: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Modified: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java (original)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java Wed Jun 6 20:12:40 2007
> @@ -26,9 +26,12 @@
> import org.w3c.dom.Element;
> import org.w3c.dom.NodeList;
>
> +import org.apache.cxf.binding.jbi.JBIConstants;
> +import org.apache.cxf.binding.jbi.JBIFault;
> import org.apache.cxf.binding.jbi.JBIMessage;
> import org.apache.cxf.common.i18n.BundleUtils;
> import org.apache.cxf.common.i18n.Message;
> +import org.apache.cxf.helpers.NSStack;
> import org.apache.cxf.interceptor.Fault;
> import org.apache.cxf.phase.AbstractPhaseInterceptor;
> import org.apache.cxf.phase.Phase;
> @@ -43,13 +46,24 @@
> }
>
> public void handleMessage(JBIMessage message) throws Fault {
> + message.put(org.apache.cxf.message.Message.RESPONSE_CODE, new Integer(500));
> + NSStack nsStack = new NSStack();
> + nsStack.push();
> +
> +
> +
> try {
> XMLStreamWriter writer = getWriter(message);
> Fault fault = getFault(message);
> - if (!fault.hasDetails()) {
> + JBIFault jbiFault = JBIFault.createFault(fault);
> + nsStack.add(JBIConstants.NS_JBI_BINDING);
> + String prefix = nsStack.getPrefix(JBIConstants.NS_JBI_BINDING);
> + StaxUtils.writeStartElement(writer, prefix, JBIFault.JBI_FAULT_ROOT,
> + JBIConstants.NS_JBI_BINDING);
> + if (!jbiFault.hasDetails()) {
> writer.writeEmptyElement("fault");
> } else {
> - Element detail = fault.getDetail();
> + Element detail = jbiFault.getDetail();
> NodeList details = detail.getChildNodes();
> for (int i = 0; i < details.getLength(); i++) {
> if (details.item(i) instanceof Element) {
> @@ -58,6 +72,9 @@
> }
> }
> }
> + writer.writeEndElement();
> + writer.flush();
> +
> } catch (XMLStreamException xe) {
> throw new Fault(new Message("XML_WRITE_EXC", BUNDLE), xe);
> }
>
> Modified: incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java (original)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java Wed Jun 6 20:12:40 2007
> @@ -30,6 +30,7 @@
>
> import org.apache.cxf.binding.jbi.JBIBindingInfo;
> import org.apache.cxf.binding.jbi.JBIConstants;
> +import org.apache.cxf.binding.jbi.JBIFault;
> import org.apache.cxf.common.logging.LogUtils;
> import org.apache.cxf.databinding.DataReader;
> import org.apache.cxf.endpoint.Endpoint;
> @@ -41,6 +42,7 @@
> import org.apache.cxf.service.model.BindingInfo;
> import org.apache.cxf.service.model.BindingMessageInfo;
> import org.apache.cxf.service.model.BindingOperationInfo;
> +import org.apache.cxf.service.model.MessageInfo;
> import org.apache.cxf.service.model.MessagePartInfo;
> import org.apache.cxf.staxutils.DepthXMLStreamReader;
> import org.apache.cxf.staxutils.StaxUtils;
> @@ -77,6 +79,17 @@
> Exchange ex = message.getExchange();
> QName startQName = reader.getName();
>
> + // handling jbi fault message
> + if (startQName.getLocalPart().equals(JBIFault.JBI_FAULT_ROOT)) {
> + message.getInterceptorChain().abort();
> +
> + if (ep.getInFaultObserver() != null) {
> + ep.getInFaultObserver().onMessage(message);
> + return;
> + }
> + }
> +
> +
> // handling xml normal inbound message
> if (!startQName.equals(JBIConstants.JBI_WRAPPER_MESSAGE)) {
> throw new Fault(new org.apache.cxf.common.i18n.Message(
> @@ -88,7 +101,8 @@
> DataReader<XMLStreamReader> dr = getDataReader(message);
> List<Object> parameters = new ArrayList<Object>();
> reader.next();
> - BindingMessageInfo messageInfo = isRequestor(message) ? bop.getInput() : bop.getOutput();
> + BindingMessageInfo messageInfo = !isRequestor(message) ? bop.getInput() : bop.getOutput();
> + message.put(MessageInfo.class, messageInfo.getMessageInfo());
> for (MessagePartInfo part : messageInfo.getMessageParts()) {
> if (!StaxUtils.skipToStartOfElement(reader)) {
> throw new Fault(new org.apache.cxf.common.i18n.Message(
>
> Modified: incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java (original)
> +++ incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java Wed Jun 6 20:12:40 2007
> @@ -82,7 +82,7 @@
> interceptor.handleMessage(msg);
> writer.close();
> Document doc = DOMUtils.readXml(new ByteArrayInputStream(baos.toByteArray()));
> - assertEquals("fault", doc.getDocumentElement().getNodeName());
> + assertEquals("fault", doc.getDocumentElement().getFirstChild().getNodeName());
> }
>
> @Test
> @@ -99,8 +99,8 @@
> interceptor.handleMessage(msg);
> writer.close();
> Document doc = DOMUtils.readXml(new ByteArrayInputStream(baos.toByteArray()));
> - assertEquals("urn:test", doc.getDocumentElement().getNamespaceURI());
> - assertEquals("myDetails", doc.getDocumentElement().getNodeName());
> + assertEquals("urn:test", doc.getDocumentElement().getFirstChild().getNamespaceURI());
> + assertEquals("myDetails", doc.getDocumentElement().getFirstChild().getNodeName());
> }
>
> }
>
> Modified: incubator/cxf/trunk/rt/transports/jbi/pom.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/pom.xml (original)
> +++ incubator/cxf/trunk/rt/transports/jbi/pom.xml Wed Jun 6 20:12:40 2007
> @@ -64,10 +64,43 @@
> <groupId>org.apache.servicemix</groupId>
> <artifactId>servicemix-jbi</artifactId>
> <version>3.1-incubating</version>
> - </dependency>
> -
> + </dependency>
> +
> +
> </dependencies>
>
> + <build>
> + <plugins>
> + <plugin>
> + <groupId>org.apache.cxf</groupId>
> + <artifactId>cxf-common-xsd</artifactId>
> + <version>${project.version}</version>
> + <executions>
> + <execution>
> + <id>generate-sources</id>
> + <phase>generate-sources</phase>
> + <configuration>
> + <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
> + <xsdOptions>
> + <xsdOption>
> + <xsd>${basedir}/src/main/resources/schemas/wsdl/jbi.xsd</xsd>
> + <bindingFile>${basedir}/src/main/resources/schemas/wsdl/jbi.xjb</bindingFile>
> + <catalog>${basedir}/src/main/resources/catalog.cat</catalog>
> + <deleteDirs>
> + <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
> + </deleteDirs>
> + </xsdOption>
> +
> + </xsdOptions>
> + </configuration>
> + <goals>
> + <goal>xsdtojava</goal>
> + </goals>
> + </execution>
> + </executions>
> + </plugin>
> + </plugins>
> + </build>
>
> <scm>
> <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/transports/jbi</connection>
>
> Modified: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java (original)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java Wed Jun 6 20:12:40 2007
> @@ -22,6 +22,7 @@
> import java.io.ByteArrayInputStream;
> import java.io.ByteArrayOutputStream;
> import java.io.IOException;
> +import java.io.InputStream;
> import java.lang.reflect.Member;
> import java.lang.reflect.Method;
> import java.util.logging.Logger;
> @@ -114,7 +115,6 @@
> NormalizedMessage inMsg = xchng.createMessage();
> LOG.info(new org.apache.cxf.common.i18n.Message("EXCHANGE.ENDPOINT", LOG).toString()
> + xchng.getEndpoint());
> -
> if (inMsg != null) {
> LOG.info("setup message contents on " + inMsg);
> inMsg.setContent(getMessageContent(message));
> @@ -127,17 +127,28 @@
> xchng.setMessage(inMsg, "in");
> LOG.info("sending message");
> if (!isOneWay) {
> -
> channel.sendSync(xchng);
> NormalizedMessage outMsg = ((InOut)xchng).getOutMessage();
> -
> + Source content = null;
> + if (outMsg != null) {
> + content = outMsg.getContent();
> + } else {
> + content = ((InOut)xchng).getFault().getContent();
> + }
> Message inMessage = new MessageImpl();
> message.getExchange().setInMessage(inMessage);
> - Source source = outMsg.getContent();
> - XMLStreamReader reader = StaxUtils.createXMLStreamReader(source);
> + InputStream ins = JBIMessageHelper.convertMessageToInputStream(content);
> + if (ins == null) {
> + throw new IOException(new org.apache.cxf.common.i18n.Message(
> + "UNABLE.RETRIEVE.MESSAGE", LOG).toString());
> + }
> + inMessage.setContent(InputStream.class, ins);
>
> + XMLStreamReader reader = StaxUtils.createXMLStreamReader(content);
> inMessage.setContent(XMLStreamReader.class, reader);
> conduit.getMessageObserver().onMessage(inMessage);
> +
> +
>
> } else {
> channel.send(xchng);
>
> Modified: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java (original)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java Wed Jun 6 20:12:40 2007
> @@ -30,11 +30,14 @@
> import javax.xml.namespace.QName;
> import javax.xml.stream.XMLStreamReader;
>
> +
> import org.apache.cxf.common.logging.LogUtils;
> import org.apache.cxf.message.Message;
> import org.apache.cxf.message.MessageImpl;
> import org.apache.cxf.service.model.EndpointInfo;
> import org.apache.cxf.staxutils.StaxUtils;
> +
> +
> import org.apache.cxf.transport.AbstractConduit;
> import org.apache.cxf.transport.AbstractDestination;
> import org.apache.cxf.transport.Conduit;
> @@ -47,12 +50,15 @@
> private static final Logger LOG = LogUtils.getL7dLogger(JBIDestination.class);
>
> private final DeliveryChannel channel;
> + private JBIDispatcher dispatcher;
> + private volatile boolean running;
>
> public JBIDestination(EndpointInfo info,
> DeliveryChannel dc) {
> super(getTargetReference(info, null), info);
> this.channel = dc;
> }
> +
>
> protected Logger getLogger() {
> return LOG;
> @@ -67,6 +73,22 @@
> inMessage);
> }
>
> + public void shutdown() {
> + running = false;
> + }
> +
> + public void deactivate() {
> + running = false;
> + }
> +
> + public void activate() {
> + getLogger().info(new org.apache.cxf.common.i18n.Message(
> + "ACTIVE.JBI.SERVER.TRANSPORT", getLogger()).toString());
> + dispatcher = new JBIDispatcher();
> + new Thread(dispatcher).start();
> + }
> +
> +
> // this should deal with the cxf message
> protected class BackChannelConduit extends AbstractConduit {
>
> @@ -108,6 +130,43 @@
> return LOG;
> }
> }
> +
> +
> + private class JBIDispatcher implements Runnable {
> +
> + public final void run() {
> +
> + try {
> + running = true;
> + getLogger().info(new org.apache.cxf.common.i18n.Message(
> + "RECEIVE.THREAD.START", getLogger()).toString());
> + do {
> + MessageExchange exchange = null;
> + synchronized (channel) {
> + exchange = channel.accept();
> + }
> +
> + if (exchange != null) {
> + try {
> + getLogger().info(new org.apache.cxf.common.i18n.Message(
> + "DISPATCH.TO.SU", getLogger()).toString());
> + dispatch(exchange);
> +
> + } finally {
> + //
> + }
> + }
> + } while(running);
> + } catch (Exception ex) {
> + getLogger().log(Level.SEVERE, new org.apache.cxf.common.i18n.Message(
> + "ERROR.DISPATCH.THREAD", getLogger()).toString(), ex);
> + }
> + getLogger().fine(new org.apache.cxf.common.i18n.Message(
> + "JBI.SERVER.TRANSPORT.MESSAGE.PROCESS.THREAD.EXIT", getLogger()).toString());
> + }
> + }
> +
> +
>
> public void dispatch(MessageExchange exchange) throws IOException {
> QName opName = exchange.getOperation();
> @@ -118,9 +177,11 @@
> //get the message to be interceptor
> MessageImpl inMessage = new MessageImpl();
> inMessage.put(MessageExchange.class, exchange);
> + //get the message to be interceptor
> +
> XMLStreamReader reader = StaxUtils.createXMLStreamReader(nm.getContent());
> inMessage.setContent(XMLStreamReader.class, reader);
> - inMessage.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
> +
>
> //dispatch to correct destination in case of multiple endpoint
> inMessage.setDestination(this);
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,60 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.transport.jbi;
> +
> +import java.io.ByteArrayInputStream;
> +import java.io.ByteArrayOutputStream;
> +import java.io.IOException;
> +import java.io.InputStream;
> +import java.util.logging.Logger;
> +
> +import javax.xml.transform.Source;
> +import javax.xml.transform.Transformer;
> +import javax.xml.transform.TransformerConfigurationException;
> +import javax.xml.transform.TransformerException;
> +import javax.xml.transform.TransformerFactory;
> +import javax.xml.transform.stream.StreamResult;
> +
> +import org.apache.cxf.common.i18n.Message;
> +import org.apache.cxf.common.logging.LogUtils;
> +
> +public final class JBIMessageHelper {
> +
> + private static final Logger LOG = LogUtils.getL7dLogger(JBIMessageHelper.class);
> +
> + private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory.newInstance();
> +
> + private JBIMessageHelper() {
> + // complete
> + }
> +
> + public static InputStream convertMessageToInputStream(Source src) throws IOException,
> + TransformerConfigurationException, TransformerException {
> +
> + final Transformer transformer = TRANSFORMER_FACTORY.newTransformer();
> +
> + ByteArrayOutputStream baos = new ByteArrayOutputStream();
> + StreamResult result = new StreamResult(baos);
> + transformer.transform(src, result);
> + LOG.info(new Message("RECEIVED.MESSAGE", LOG) + new String(baos.toByteArray()));
> +
> + return new ByteArrayInputStream(baos.toByteArray());
> + }
> +}
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Modified: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java (original)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java Wed Jun 6 20:12:40 2007
> @@ -51,6 +51,7 @@
>
> private static final Logger LOG = LogUtils.getL7dLogger(JBITransportFactory.class);
>
> +
> private static final ThreadLocal<DeliveryChannel> DELIVERY_CHANNEL = new ThreadLocal<DeliveryChannel>();
> private Bus bus;
> private final Map<String, JBIDestination> destinationMap = new HashMap<String, JBIDestination>();
> @@ -95,6 +96,8 @@
> }
> }
> }
> +
> +
>
>
> public static DeliveryChannel getDeliveryChannel() {
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,41 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +
> +package org.apache.cxf.transport.jbi.wsdl11;
> +
> +import java.util.Map;
> +
> +import javax.wsdl.Port;
> +import javax.wsdl.WSDLException;
> +import javax.wsdl.extensions.ExtensibilityElement;
> +
> +import org.apache.cxf.tools.common.ToolConstants;
> +import org.apache.cxf.transports.jbi.AddressType;
> +import org.apache.cxf.wsdl.AbstractWSDLPlugin;
> +
> +public class JBITransportPlugin extends AbstractWSDLPlugin {
> +
> + public ExtensibilityElement createExtension(Map<String, Object> args) throws WSDLException {
> + AddressType jbiAddress = null;
> + jbiAddress = (AddressType)registry.createExtension(Port.class, ToolConstants.JBI_ADDRESS);
> + return jbiAddress;
> + }
> +
> +}
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,24 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
> +<properties>
> + <!-- JBI Transport -->
> + <entry key="org.apache.cxf.transport.jbi">javax.wsdl.Port=org.apache.cxf.transports.jbi.AddressType</entry>
> +</properties>
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,23 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
> +<properties>
> + <entry key="jbi-javax.wsdl.Port">org.apache.cxf.transport.jbi.wsdl11.JBITransportPlugin</entry>
> +</properties>
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,21 @@
> +--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +--
> +
> +
> +SYSTEM "http://schemas.xmlsoap.org/wsdl/" "../../../../../../common/schemas/src/main/resources/schemas/wsdl/wsdl.xsd"
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,34 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<jaxb:bindings version="1.0"
> + xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
> + xmlns:xs="http://www.w3.org/2001/XMLSchema"
> + xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
> + jaxb:extensionBindingPrefixes="xjc">
> + <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/" node="/xs:schema">
> + <jaxb:schemaBindings>
> + <jaxb:package name="org.apache.cxf.wsdl"/>
> + </jaxb:schemaBindings>
> + <jaxb:globalBindings generateIsSetMethod="true"/>
> + </jaxb:bindings>
> + <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/" node="/xs:schema/xs:complexType[@name='tExtensibilityElement']">
> + <jaxb:class implClass="org.apache.cxf.wsdl.TExtensibilityElementImpl"/>
> + </jaxb:bindings>
> +</jaxb:bindings>
>
> Added: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd (added)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,45 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
> + xmlns:jbi="http://cxf.apache.org/transports/jbi"
> + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> + targetNamespace="http://cxf.apache.org/transports/jbi"
> + elementFormDefault="qualified"
> + xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0">
> +
> + <xs:import namespace="http://schemas.xmlsoap.org/wsdl/" schemaLocation="http://schemas.xmlsoap.org/wsdl/" />
> +
> +
> + <xs:element name="address" type="jbi:AddressType"/>
> + <xs:complexType name="AddressType">
> + <xs:complexContent>
> + <xs:extension base="wsdl:tExtensibilityElement">
> + <xs:attribute name="location" type="xs:string">
> + <xs:annotation>
> + <xs:documentation>
> + jbi dummy location
> + </xs:documentation>
> + </xs:annotation>
> + </xs:attribute>
> + </xs:extension>
> + </xs:complexContent>
> + </xs:complexType>
> +
> +</xs:schema>
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Propchange: incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
> Modified: incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java (original)
> +++ incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java Wed Jun 6 20:12:40 2007
> @@ -40,6 +40,7 @@
> import org.apache.cxf.service.model.BindingMessageInfo;
> import org.apache.cxf.service.model.BindingOperationInfo;
> import org.easymock.classextension.EasyMock;
> +import org.junit.Ignore;
> import org.junit.Test;
>
> public class JBIConduitTest extends AbstractJBITest {
> @@ -61,6 +62,7 @@
> }
>
> @Test
> + @Ignore
> public void testSendOut() throws Exception {
> LOG.info("test send");
> JBIConduit conduit = setupJBIConduit(true, false);
>
> Modified: incubator/cxf/trunk/systests/pom.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/systests/pom.xml (original)
> +++ incubator/cxf/trunk/systests/pom.xml Wed Jun 6 20:12:40 2007
> @@ -168,6 +168,22 @@
> </dependency>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> + <artifactId>cxf-rt-bindings-jbi</artifactId>
> + <version>${project.version}</version>
> + </dependency>
> + <dependency>
> + <groupId>org.apache.cxf</groupId>
> + <artifactId>cxf-rt-transports-jbi</artifactId>
> + <version>${project.version}</version>
> + </dependency>
> + <dependency>
> + <groupId>org.apache.cxf</groupId>
> + <artifactId>cxf-integration-jbi</artifactId>
> + <version>${project.version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-bindings-http</artifactId>
> <version>${project.version}</version>
> </dependency>
> @@ -267,6 +283,12 @@
> <scope>test</scope>
> </dependency>
> <dependency>
> + <groupId>org.apache.servicemix</groupId>
> + <artifactId>servicemix-core</artifactId>
> + <version>${servicemix.version}</version>
> + </dependency>
> +
> + <dependency>
> <groupId>rhino</groupId>
> <artifactId>js</artifactId>
> <version>1.6R5</version>
> @@ -293,4 +315,4 @@
> <surefire.fork.mode>pertest</surefire.fork.mode>
> </properties>
>
> -</project>
> \ No newline at end of file
> +</project>
>
> Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java (added)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,130 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.systest.jbi;
> +
> +
> +import java.net.URL;
> +import java.util.logging.Logger;
> +
> +import javax.jbi.messaging.DeliveryChannel;
> +import javax.jbi.messaging.MessagingException;
> +import javax.xml.namespace.QName;
> +import javax.xml.ws.Endpoint;
> +
> +
> +import org.apache.cxf.interceptor.LoggingInInterceptor;
> +import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.jaxws.EndpointImpl;
> +import org.apache.cxf.jbi.se.CXFServiceEngine;
> +import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
> +import org.apache.cxf.transport.ConduitInitiatorManager;
> +import org.apache.cxf.transport.jbi.JBITransportFactory;
> +import org.apache.hello_world.jbi.Greeter;
> +import org.apache.hello_world.jbi.GreeterImpl;
> +import org.apache.hello_world.jbi.HelloWorldService;
> +import org.apache.hello_world.jbi.PingMeFault;
> +import org.apache.servicemix.components.util.ComponentSupport;
> +import org.apache.servicemix.jbi.container.ActivationSpec;
> +import org.apache.servicemix.jbi.container.JBIContainer;
> +import org.junit.After;
> +import org.junit.Before;
> +import org.junit.BeforeClass;
> +import org.junit.Test;
> +
> +public class ClientServerTest extends AbstractBusClientServerTestBase {
> +
> + static final Logger LOG = Logger.getLogger(ClientServerTest.class.getName());
> + private final QName serviceName = new QName(
> + "http://apache.org/hello_world/jbi",
> + "HelloWorldService");
> + private JBIContainer container;
> +
> + @BeforeClass
> + public static void startServers() throws Exception {
> + //assertTrue("server did not launch correctly", launchServer(Server.class));
> + }
> +
> + @Before
> + public void setUp() throws Exception {
> + container = new JBIContainer();
> + container.setEmbedded(true);
> + container.init();
> + container.start();
> +
> + }
> +
> + @After
> + public void tearDown() throws Exception {
> + container.shutDown();
> + }
> +
> + @Test
> + public void testJBI() throws Exception {
> + URL wsdl = getClass().getResource("/wsdl/hello_world_jbi.wsdl");
> + assertNotNull(wsdl);
> + //Bus bus = BusFactory.getDefaultBus();
> + createBus();
> + assert bus != null;
> + TestComponent component = new TestComponent(new QName("http://apache.org/hello_world/jbi",
> + "HelloWorldService"),
> + "endpoint");
> +
> + container.activateComponent(new ActivationSpec("component", component));
> + /*component.getContext().activateEndpoint(new QName("http://apache.org/hello_world/jbi",
> + "HelloWorldService"),
> + "endpoint");*/
> + DeliveryChannel channel = component.getChannel();
> + JBITransportFactory jbiTransportFactory =
> + (JBITransportFactory)bus.getExtension(ConduitInitiatorManager.class).
> + getConduitInitiator(CXFServiceEngine.JBI_TRANSPORT_ID);
> + jbiTransportFactory.setBus(bus);
> +
> + JBITransportFactory.setDeliveryChannel(channel);
> + HelloWorldService ss = new HelloWorldService(wsdl, serviceName);
> +
> + Greeter port = ss.getSoapPort();
> + Object implementor = new GreeterImpl();
> + String address = "http://foo/bar/baz";
> + EndpointImpl e = (EndpointImpl)Endpoint.publish(address, implementor);
> + e.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor());
> + e.getServer().getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor());
> +
> + port.greetMeOneWay("test");
> + String rep = port.greetMe("ffang");
> + assertEquals(rep, "Hello ffang");
> + try {
> + port.pingMe();
> + fail();
> + } catch (PingMeFault ex) {
> + assertEquals(ex.getFaultInfo().getMajor(), (short)2);
> + assertEquals(ex.getFaultInfo().getMinor(), (short)1);
> + }
> + }
> +
> + public static class TestComponent extends ComponentSupport {
> + public TestComponent(QName service, String endpoint) {
> + super(service, endpoint);
> + }
> + public DeliveryChannel getChannel() throws MessagingException {
> + return getContext().getDeliveryChannel();
> + }
> + }
> +
> +}
>
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java (added)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,53 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.cxf.systest.jbi;
> +
> +
> +import javax.xml.ws.Endpoint;
> +
> +import org.apache.cxf.interceptor.LoggingInInterceptor;
> +import org.apache.cxf.interceptor.LoggingOutInterceptor;
> +import org.apache.cxf.jaxws.EndpointImpl;
> +import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
> +import org.apache.hello_world.jbi.GreeterImpl;
> +
> +public class Server extends AbstractBusTestServerBase {
> +
> + protected void run() {
> +
> + Object implementor = new GreeterImpl();
> + String address = "http://foo/bar/baz";
> + EndpointImpl e = (EndpointImpl)Endpoint.publish(address, implementor);
> + e.getServer().getEndpoint().getInInterceptors().add(new LoggingInInterceptor());
> + e.getServer().getEndpoint().getOutInterceptors().add(new LoggingOutInterceptor());
> + }
> +
> + public static void main(String args[]) {
> + try {
> + Server s = new Server();
> + s.start();
> + } catch (Exception ex) {
> + ex.printStackTrace();
> + System.exit(-1);
> + } finally {
> + System.out.println("done!");
> + }
> + }
> +}
>
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java (original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java Wed Jun 6 20:12:40 2007
> @@ -80,7 +80,7 @@
> Source result = dispatcher.invoke(new StreamSource(is));
> String tempstring = source2String(result);
> assertTrue("Result should start with Customer", tempstring.startsWith("<ns4:Customer"));
> - assertTrue("Result should have CustomerID", tempstring.lastIndexOf("CustomerID>123456<") > 0);
> + assertTrue("Result should have CustomerID", tempstring.lastIndexOf(">123456<") > 0);
> }
>
> @Test
>
> Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java (original)
> +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java Wed Jun 6 20:12:40 2007
> @@ -107,7 +107,7 @@
> Source result = dispatcher.invoke(new StreamSource(is));
> String tempstring = source2String(result);
> assertTrue("Result should start with Customer", tempstring.startsWith("<ns4:Customer"));
> - assertTrue("Result should have CustomerID", tempstring.lastIndexOf("CustomerID>123456<") > 0);
> + assertTrue("Result should have CustomerID", tempstring.lastIndexOf(">123456<") > 0);
> }
>
> @Test
> @@ -142,7 +142,7 @@
> assertNotNull("result shoud not be null", result);
> String tempstring = source2String(result);
> assertTrue("Result should start with Customer", tempstring.startsWith("<ns4:Customer"));
> - assertTrue("Result should have CustomerID", tempstring.lastIndexOf("CustomerID>123456<") > 0);
> + assertTrue("Result should have CustomerID", tempstring.lastIndexOf(">123456<") > 0);
> }
>
> private String source2String(Source source) throws Exception {
>
> Modified: incubator/cxf/trunk/testutils/pom.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
> ==============================================================================
> --- incubator/cxf/trunk/testutils/pom.xml (original)
> +++ incubator/cxf/trunk/testutils/pom.xml Wed Jun 6 20:12:40 2007
> @@ -339,6 +339,10 @@
> <wsdlOption>
> <wsdl>${basedir}/src/main/resources/wsdl/factory_pattern.wsdl</wsdl>
> </wsdlOption>
> + <wsdlOption>
> + <wsdl>${basedir}/src/main/resources/wsdl/hello_world_jbi.wsdl</wsdl>
> + </wsdlOption>
> +
> <!-- will be removed-->
> <wsdlOption>
> <wsdl>${basedir}/src/main/resources/wsdl/test_chars.wsdl</wsdl>
>
> Added: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java (added)
> +++ incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,57 @@
> +/**
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +package org.apache.hello_world.jbi;
> +
> +import javax.jws.WebService;
> +
> +import org.apache.hello_world.types.jbi.FaultDetail;
> +
> +
> +@WebService(serviceName = "HelloWorldService",
> + portName = "SoapPort",
> + endpointInterface = "org.apache.hello_world.jbi.Greeter",
> + targetNamespace = "http://apache.org/hello_world/jbi",
> + wsdlLocation = "testutils/hello_world_jbi.wsdl")
> +public class GreeterImpl implements Greeter {
> +
> + public String sayHi() {
> + System.out.println("Call sayHi here ");
> + return "Bonjour";
> + }
> +
> + public String greetMe(String requestType) {
> + System.out.println("Reached here :" + requestType);
> + return "Hello " + requestType;
> + }
> +
> + public void greetMeOneWay(String requestType) {
> + System.out.println("********* greetMeOneWay: " + requestType);
> + }
> +
> + public void pingMe() throws PingMeFault {
> + System.out.println("Reached pingMe");
> + FaultDetail faultDetail = new FaultDetail();
> + faultDetail.setMajor((short)2);
> + faultDetail.setMinor((short)1);
> + throw new PingMeFault("PingMeFault raised by server", faultDetail);
> +
> + }
> +
> +}
>
> Propchange: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Added: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl?view=auto&rev=545036
> ==============================================================================
> --- incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl (added)
> +++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl Wed Jun 6 20:12:40 2007
> @@ -0,0 +1,166 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> +-->
> +<wsdl:definitions name="HelloWorld" targetNamespace="http://apache.org/hello_world/jbi"
> + xmlns="http://schemas.xmlsoap.org/wsdl/"
> + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> + xmlns:tns="http://apache.org/hello_world/jbi"
> + xmlns:x1="http://apache.org/hello_world/types/jbi"
> + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> + xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> + xmlns:xformat="http://cxf.apache.org/bindings/xformat"
> + xmlns:jbi="http://cxf.apache.org/transports/jbi"
> + xmlns:jbiFormat="http://cxf.apache.org/bindings/jbi">
> +
> + <wsdl:types>
> + <schema targetNamespace="http://apache.org/hello_world/types/jbi"
> + xmlns="http://www.w3.org/2001/XMLSchema"
> + xmlns:tns="http://apache.org/hello_world/types/jbi"
> + elementFormDefault="qualified">
> + <simpleType name="MyStringType">
> + <restriction base="string">
> + <maxLength value="30" />
> + </restriction>
> + </simpleType>
> +
> + <element name="sayHi">
> + <complexType/>
> + </element>
> + <element name="sayHiResponse">
> + <complexType>
> + <sequence>
> + <element name="responseType" type="string"/>
> + </sequence>
> + </complexType>
> + </element>
> + <element name="greetMe">
> + <complexType>
> + <sequence>
> + <element name="requestType" type="tns:MyStringType"/>
> + </sequence>
> + </complexType>
> + </element>
> + <element name="greetMeResponse">
> + <complexType>
> + <sequence>
> + <element name="responseType" type="string"/>
> + </sequence>
> + </complexType>
> + </element>
> + <element name="greetMeOneWay">
> + <complexType>
> + <sequence>
> + <element name="requestType" type="string"/>
> + </sequence>
> + </complexType>
> + </element>
> + <element name="pingMe">
> + <complexType/>
> + </element>
> + <element name="pingMeResponse">
> + <complexType/>
> + </element>
> + <element name="faultDetail">
> + <complexType>
> + <sequence>
> + <element name="minor" type="short"/>
> + <element name="major" type="short"/>
> + </sequence>
> + </complexType>
> + </element>
> + </schema>
> + </wsdl:types>
> + <wsdl:message name="sayHiRequest">
> + <wsdl:part element="x1:sayHi" name="in"/>
> + </wsdl:message>
> + <wsdl:message name="sayHiResponse">
> + <wsdl:part element="x1:sayHiResponse" name="out"/>
> + </wsdl:message>
> + <wsdl:message name="greetMeRequest">
> + <wsdl:part element="x1:greetMe" name="in"/>
> + </wsdl:message>
> + <wsdl:message name="greetMeResponse">
> + <wsdl:part element="x1:greetMeResponse" name="out"/>
> + </wsdl:message>
> + <wsdl:message name="greetMeOneWayRequest">
> + <wsdl:part element="x1:greetMeOneWay" name="in"/>
> + </wsdl:message>
> + <wsdl:message name="pingMeRequest">
> + <wsdl:part name="in" element="x1:pingMe"/>
> + </wsdl:message>
> + <wsdl:message name="pingMeResponse">
> + <wsdl:part name="out" element="x1:pingMeResponse"/>
> + </wsdl:message>
> + <wsdl:message name="pingMeFault">
> + <wsdl:part name="faultDetail" element="x1:faultDetail"/>
> + </wsdl:message>
> +
> + <wsdl:portType name="Greeter">
> + <wsdl:operation name="sayHi">
> + <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
> + <wsdl:output message="tns:sayHiResponse" name="sayHiResponse"/>
> + </wsdl:operation>
> +
> + <wsdl:operation name="greetMe">
> + <wsdl:input message="tns:greetMeRequest" name="greetMeRequest"/>
> + <wsdl:output message="tns:greetMeResponse" name="greetMeResponse"/>
> + </wsdl:operation>
> +
> + <wsdl:operation name="greetMeOneWay">
> + <wsdl:input message="tns:greetMeOneWayRequest" name="greetMeOneWayRequest"/>
> + </wsdl:operation>
> +
> + <wsdl:operation name="pingMe">
> + <wsdl:input name="pingMeRequest" message="tns:pingMeRequest"/>
> + <wsdl:output name="pingMeResponse" message="tns:pingMeResponse"/>
> + <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
> + </wsdl:operation>
> + </wsdl:portType>
> + <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
> + <jbiFormat:binding />
> +
> + <wsdl:operation name="sayHi">
> + <wsdl:input name="sayHiRequest" />
> + <wsdl:output name="sayHiResponse" />
> + </wsdl:operation>
> +
> + <wsdl:operation name="greetMe">
> + <wsdl:input name="greetMeRequest" />
> + <wsdl:output name="greetMeResponse" />
> + </wsdl:operation>
> +
> + <wsdl:operation name="greetMeOneWay">
> + <wsdl:input name="greetMeOneWayRequest" />
> + </wsdl:operation>
> +
> + <wsdl:operation name="pingMe">
> + <wsdl:input />
> + <wsdl:output />
> + <wsdl:fault name="pingMeFault" />
> + </wsdl:operation>
> +
> +
> + </wsdl:binding>
> + <wsdl:service name="HelloWorldService">
> + <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
> + <jbi:address location="http://localhost:9000/SoapContext/SoapPort"/>
> + </wsdl:port>
> + </wsdl:service>
> +</wsdl:definitions>
> +
>
> Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
> ------------------------------------------------------------------------------
> svn:keywords = Rev Date
>
> Propchange: incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
> ------------------------------------------------------------------------------
> svn:mime-type = text/xml
>
>
>
--
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/
Re: svn commit: r545036 - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/tools/common/
integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/ parent/ rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/
rt/bindings/jbi/src/main/ja
Posted by Freeman Fang <fr...@iona.com>.
Hi Guillaume,
I will do it.
Thanks very much
Freeman
Guillaume Nodet wrote:
> Sorry for the delay, I had missed this commit before.
> I'm -1 on this one.
>
> I'm really concerned about the JBIDestination.java changes.
> See my comments on servicemix-dev and
> https://issues.apache.org/activemq/browse/SM-939
>
> Freeman, can you please rollback the changes on this class please ?
>
> On 6/7/07, ffang@apache.org <ff...@apache.org> wrote:
>> Author: ffang
>> Date: Wed Jun 6 20:12:40 2007
>> New Revision: 545036
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=545036
>> Log:
>> [CXF-703] add endtoend system test for JBI binding and transport
>> [CXF-702] add JBITransportPlugin for wsdl ExtensibilityElement
>> [CXF-701] add JBIFaultInInterceptor for JBI binding
>>
>> Added:
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>> (with props)
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>> (with props)
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>> (with props)
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/
>>
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>> (with props)
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>> (with props)
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>> (with props)
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
>>
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>> (with props)
>>
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/
>>
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>> (with props)
>>
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>> (with props)
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/
>>
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/
>>
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>> (with props)
>>
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>> (with props)
>> Modified:
>>
>> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
>>
>>
>> incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
>>
>> incubator/cxf/trunk/parent/pom.xml
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
>>
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
>>
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
>>
>>
>> incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
>>
>> incubator/cxf/trunk/rt/transports/jbi/pom.xml
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
>>
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
>>
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
>>
>>
>> incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
>>
>> incubator/cxf/trunk/systests/pom.xml
>>
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
>>
>>
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
>>
>> incubator/cxf/trunk/testutils/pom.xml
>>
>> Modified:
>> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
>> (original)
>> +++
>> incubator/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
>> Wed Jun 6 20:12:40 2007
>> @@ -153,6 +153,11 @@
>> // JMS address
>> public static final String NS_JMS_ADDRESS =
>> "http://cxf.apache.org/transports/jms";
>> public static final QName JMS_ADDRESS = new
>> QName(NS_JMS_ADDRESS, "address");
>> +
>> + // JBI address
>> + public static final String NS_JBI_ADDRESS =
>> "http://cxf.apache.org/transports/jbi";
>> + public static final QName JBI_ADDRESS = new
>> QName(NS_JBI_ADDRESS, "address");
>> +
>>
>> public static final String JMS_ADDR_DEST_STYLE =
>> "destinationStyle";
>> public static final String JMS_ADDR_JNDI_URL = "jndiProviderURL";
>>
>> Modified:
>> incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
>> (original)
>> +++
>> incubator/cxf/trunk/integration/jbi/src/main/java/org/apache/cxf/jbi/se/state/AbstractServiceEngineStateMachine.java
>> Wed Jun 6 20:12:40 2007
>> @@ -66,7 +66,6 @@
>> void registerJBITransport(Bus argBus, CXFServiceUnitManager mgr)
>> throws JBIException {
>> try {
>> getTransportFactory().setBus(argBus);
>> - //getTransportFactory().setServiceUnitManager(mgr);
>> } catch (Exception ex) {
>> LOG.severe(new
>> Message("SE.FAILED.REGISTER.TRANSPORT.FACTORY",
>> LOG).toString());
>>
>> Modified: incubator/cxf/trunk/parent/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/parent/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> --- incubator/cxf/trunk/parent/pom.xml (original)
>> +++ incubator/cxf/trunk/parent/pom.xml Wed Jun 6 20:12:40 2007
>> @@ -61,6 +61,7 @@
>>
>> <spring.validation.mode>VALIDATION_AUTO</spring.validation.mode>
>>
>> <downloadSources>true</downloadSources>
>> +
>> <servicemix.version>3.2-incubating-SNAPSHOT</servicemix.version>
>> </properties>
>>
>>
>>
>> Modified:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIBindingFactory.java
>> Wed Jun 6 20:12:40 2007
>> @@ -22,10 +22,12 @@
>>
>> import org.apache.cxf.binding.AbstractBindingFactory;
>> import org.apache.cxf.binding.Binding;
>> +import org.apache.cxf.binding.jbi.interceptor.JBIFaultInInterceptor;
>> import org.apache.cxf.binding.jbi.interceptor.JBIFaultOutInterceptor;
>> import
>> org.apache.cxf.binding.jbi.interceptor.JBIOperationInInterceptor;
>> import org.apache.cxf.binding.jbi.interceptor.JBIWrapperInInterceptor;
>> import org.apache.cxf.binding.jbi.interceptor.JBIWrapperOutInterceptor;
>> +import org.apache.cxf.interceptor.StaxInInterceptor;
>> import org.apache.cxf.interceptor.StaxOutInterceptor;
>> import org.apache.cxf.service.model.BindingInfo;
>> import org.apache.cxf.service.model.BindingOperationInfo;
>> @@ -42,6 +44,9 @@
>> jb.getOutInterceptors().add(new JBIWrapperOutInterceptor());
>> jb.getOutFaultInterceptors().add(new StaxOutInterceptor());
>> jb.getOutFaultInterceptors().add(new JBIFaultOutInterceptor());
>> +
>> + jb.getInFaultInterceptors().add(new StaxInInterceptor());
>> + jb.getInFaultInterceptors().add(new JBIFaultInInterceptor());
>> return jb;
>> }
>>
>>
>> Added:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>> (added)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,64 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.cxf.binding.jbi;
>> +
>> +import java.util.ResourceBundle;
>> +
>> +import org.apache.cxf.common.i18n.Message;
>> +import org.apache.cxf.interceptor.Fault;
>> +
>> +public class JBIFault extends Fault {
>> + public static final String JBI_FAULT_PREFIX = "jfns";
>> +
>> + public static final String JBI_FAULT_ROOT = "JBIFault";
>> + public static final String JBI_FAULT_STRING = "faultstring";
>> +
>> + public static final String JBI_FAULT_DETAIL = "detail";
>> +
>> + public static final String JBI_FAULT_CODE_SERVER = "SERVER";
>> +
>> + public static final String JBI_FAULT_CODE_CLIENT = "CLIENT";
>> +
>> +
>> + static final long serialVersionUID = 100000;
>> +
>> + public JBIFault(Message message, Throwable throwable) {
>> + super(message, throwable);
>> + }
>> +
>> + public JBIFault(Message message) {
>> + super(message);
>> + }
>> +
>> + public JBIFault(String message) {
>> + super(new Message(message, (ResourceBundle) null));
>> + }
>> +
>> + public static JBIFault createFault(Fault f) {
>> + if (f instanceof JBIFault) {
>> + return (JBIFault) f;
>> + }
>> + Throwable th = f.getCause();
>> + JBIFault jbiFault = new JBIFault(new Message(f.getMessage(),
>> (ResourceBundle) null), th);
>> + jbiFault.setDetail(f.getDetail());
>> + return jbiFault;
>> + }
>> +
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/JBIFault.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Added:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>> (added)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,74 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.cxf.binding.jbi.interceptor;
>> +
>> +import java.util.ResourceBundle;
>> +
>> +import javax.xml.stream.XMLStreamException;
>> +import javax.xml.stream.XMLStreamReader;
>> +
>> +import org.w3c.dom.Element;
>> +
>> +
>> +
>> +import org.apache.cxf.binding.jbi.JBIFault;
>> +import org.apache.cxf.binding.jbi.JBIMessage;
>> +import org.apache.cxf.common.i18n.BundleUtils;
>> +
>> +
>> +import org.apache.cxf.interceptor.Fault;
>> +import org.apache.cxf.phase.AbstractPhaseInterceptor;
>> +import org.apache.cxf.phase.Phase;
>> +import org.apache.cxf.staxutils.DepthXMLStreamReader;
>> +import org.apache.cxf.staxutils.FragmentStreamReader;
>> +import org.apache.cxf.staxutils.StaxUtils;
>> +
>> +
>> +public class JBIFaultInInterceptor extends
>> AbstractPhaseInterceptor<JBIMessage> {
>> +
>> + private static final ResourceBundle BUNDLE =
>> BundleUtils.getBundle(JBIFaultInInterceptor.class);
>> + public JBIFaultInInterceptor() {
>> + setPhase(Phase.UNMARSHAL);
>> + }
>> +
>> + public void handleMessage(JBIMessage message) throws Fault {
>> + XMLStreamReader xsr =
>> message.getContent(XMLStreamReader.class);
>> + DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr);
>> +
>> + try {
>> +
>> + if (!StaxUtils.toNextElement(reader)) {
>> + throw new Fault(new
>> org.apache.cxf.common.i18n.Message("ILLEAGAL_JBIFAULT_FORMAT", BUNDLE));
>> + }
>> + Fault fault = new JBIFault(new
>> org.apache.cxf.common.i18n.Message(JBIFault.JBI_FAULT_STRING,
>> +
>> (ResourceBundle) null));
>> +
>> + if (StaxUtils.toNextElement(reader)) {
>> + // handling detail
>> + Element detail = StaxUtils.read(new
>> FragmentStreamReader(reader)).getDocumentElement();
>> + fault.setDetail(detail);
>> + }
>> + message.setContent(Exception.class, fault);
>> + } catch (XMLStreamException xse) {
>> + throw new Fault(new
>> org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE));
>> + }
>> +
>> + }
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultInInterceptor.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Modified:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptor.java
>> Wed Jun 6 20:12:40 2007
>> @@ -26,9 +26,12 @@
>> import org.w3c.dom.Element;
>> import org.w3c.dom.NodeList;
>>
>> +import org.apache.cxf.binding.jbi.JBIConstants;
>> +import org.apache.cxf.binding.jbi.JBIFault;
>> import org.apache.cxf.binding.jbi.JBIMessage;
>> import org.apache.cxf.common.i18n.BundleUtils;
>> import org.apache.cxf.common.i18n.Message;
>> +import org.apache.cxf.helpers.NSStack;
>> import org.apache.cxf.interceptor.Fault;
>> import org.apache.cxf.phase.AbstractPhaseInterceptor;
>> import org.apache.cxf.phase.Phase;
>> @@ -43,13 +46,24 @@
>> }
>>
>> public void handleMessage(JBIMessage message) throws Fault {
>> + message.put(org.apache.cxf.message.Message.RESPONSE_CODE,
>> new Integer(500));
>> + NSStack nsStack = new NSStack();
>> + nsStack.push();
>> +
>> +
>> +
>> try {
>> XMLStreamWriter writer = getWriter(message);
>> Fault fault = getFault(message);
>> - if (!fault.hasDetails()) {
>> + JBIFault jbiFault = JBIFault.createFault(fault);
>> + nsStack.add(JBIConstants.NS_JBI_BINDING);
>> + String prefix =
>> nsStack.getPrefix(JBIConstants.NS_JBI_BINDING);
>> + StaxUtils.writeStartElement(writer, prefix,
>> JBIFault.JBI_FAULT_ROOT,
>> + JBIConstants.NS_JBI_BINDING);
>> + if (!jbiFault.hasDetails()) {
>> writer.writeEmptyElement("fault");
>> } else {
>> - Element detail = fault.getDetail();
>> + Element detail = jbiFault.getDetail();
>> NodeList details = detail.getChildNodes();
>> for (int i = 0; i < details.getLength(); i++) {
>> if (details.item(i) instanceof Element) {
>> @@ -58,6 +72,9 @@
>> }
>> }
>> }
>> + writer.writeEndElement();
>> + writer.flush();
>> +
>> } catch (XMLStreamException xe) {
>> throw new Fault(new Message("XML_WRITE_EXC", BUNDLE), xe);
>> }
>>
>> Modified:
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/main/java/org/apache/cxf/binding/jbi/interceptor/JBIWrapperInInterceptor.java
>> Wed Jun 6 20:12:40 2007
>> @@ -30,6 +30,7 @@
>>
>> import org.apache.cxf.binding.jbi.JBIBindingInfo;
>> import org.apache.cxf.binding.jbi.JBIConstants;
>> +import org.apache.cxf.binding.jbi.JBIFault;
>> import org.apache.cxf.common.logging.LogUtils;
>> import org.apache.cxf.databinding.DataReader;
>> import org.apache.cxf.endpoint.Endpoint;
>> @@ -41,6 +42,7 @@
>> import org.apache.cxf.service.model.BindingInfo;
>> import org.apache.cxf.service.model.BindingMessageInfo;
>> import org.apache.cxf.service.model.BindingOperationInfo;
>> +import org.apache.cxf.service.model.MessageInfo;
>> import org.apache.cxf.service.model.MessagePartInfo;
>> import org.apache.cxf.staxutils.DepthXMLStreamReader;
>> import org.apache.cxf.staxutils.StaxUtils;
>> @@ -77,6 +79,17 @@
>> Exchange ex = message.getExchange();
>> QName startQName = reader.getName();
>>
>> + // handling jbi fault message
>> + if
>> (startQName.getLocalPart().equals(JBIFault.JBI_FAULT_ROOT)) {
>> + message.getInterceptorChain().abort();
>> +
>> + if (ep.getInFaultObserver() != null) {
>> + ep.getInFaultObserver().onMessage(message);
>> + return;
>> + }
>> + }
>> +
>> +
>> // handling xml normal inbound message
>> if (!startQName.equals(JBIConstants.JBI_WRAPPER_MESSAGE)) {
>> throw new Fault(new org.apache.cxf.common.i18n.Message(
>> @@ -88,7 +101,8 @@
>> DataReader<XMLStreamReader> dr = getDataReader(message);
>> List<Object> parameters = new ArrayList<Object>();
>> reader.next();
>> - BindingMessageInfo messageInfo = isRequestor(message) ?
>> bop.getInput() : bop.getOutput();
>> + BindingMessageInfo messageInfo = !isRequestor(message) ?
>> bop.getInput() : bop.getOutput();
>> + message.put(MessageInfo.class,
>> messageInfo.getMessageInfo());
>> for (MessagePartInfo part :
>> messageInfo.getMessageParts()) {
>> if (!StaxUtils.skipToStartOfElement(reader)) {
>> throw new Fault(new
>> org.apache.cxf.common.i18n.Message(
>>
>> Modified:
>> incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/bindings/jbi/src/test/java/org/apache/cxf/binding/jbi/interceptor/JBIFaultOutInterceptorTest.java
>> Wed Jun 6 20:12:40 2007
>> @@ -82,7 +82,7 @@
>> interceptor.handleMessage(msg);
>> writer.close();
>> Document doc = DOMUtils.readXml(new
>> ByteArrayInputStream(baos.toByteArray()));
>> - assertEquals("fault", doc.getDocumentElement().getNodeName());
>> + assertEquals("fault",
>> doc.getDocumentElement().getFirstChild().getNodeName());
>> }
>>
>> @Test
>> @@ -99,8 +99,8 @@
>> interceptor.handleMessage(msg);
>> writer.close();
>> Document doc = DOMUtils.readXml(new
>> ByteArrayInputStream(baos.toByteArray()));
>> - assertEquals("urn:test",
>> doc.getDocumentElement().getNamespaceURI());
>> - assertEquals("myDetails",
>> doc.getDocumentElement().getNodeName());
>> + assertEquals("urn:test",
>> doc.getDocumentElement().getFirstChild().getNamespaceURI());
>> + assertEquals("myDetails",
>> doc.getDocumentElement().getFirstChild().getNodeName());
>> }
>>
>> }
>>
>> Modified: incubator/cxf/trunk/rt/transports/jbi/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> --- incubator/cxf/trunk/rt/transports/jbi/pom.xml (original)
>> +++ incubator/cxf/trunk/rt/transports/jbi/pom.xml Wed Jun 6 20:12:40
>> 2007
>> @@ -64,10 +64,43 @@
>> <groupId>org.apache.servicemix</groupId>
>> <artifactId>servicemix-jbi</artifactId>
>> <version>3.1-incubating</version>
>> - </dependency>
>> -
>> + </dependency>
>> +
>> +
>> </dependencies>
>>
>> + <build>
>> + <plugins>
>> + <plugin>
>> + <groupId>org.apache.cxf</groupId>
>> + <artifactId>cxf-common-xsd</artifactId>
>> + <version>${project.version}</version>
>> + <executions>
>> + <execution>
>> + <id>generate-sources</id>
>> + <phase>generate-sources</phase>
>> + <configuration>
>> +
>> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
>> + <xsdOptions>
>> + <xsdOption>
>> +
>> <xsd>${basedir}/src/main/resources/schemas/wsdl/jbi.xsd</xsd>
>> +
>> <bindingFile>${basedir}/src/main/resources/schemas/wsdl/jbi.xjb</bindingFile>
>>
>> +
>> <catalog>${basedir}/src/main/resources/catalog.cat</catalog>
>> + <deleteDirs>
>> +
>> <deleteDir>${basedir}/target/generated/src/main/java/org/apache/cxf/wsdl</deleteDir>
>>
>> + </deleteDirs>
>> + </xsdOption>
>> +
>> + </xsdOptions>
>> + </configuration>
>> + <goals>
>> + <goal>xsdtojava</goal>
>> + </goals>
>> + </execution>
>> + </executions>
>> + </plugin>
>> + </plugins>
>> + </build>
>>
>> <scm>
>>
>> <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/transports/jbi</connection>
>>
>>
>> Modified:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIConduitOutputStream.java
>> Wed Jun 6 20:12:40 2007
>> @@ -22,6 +22,7 @@
>> import java.io.ByteArrayInputStream;
>> import java.io.ByteArrayOutputStream;
>> import java.io.IOException;
>> +import java.io.InputStream;
>> import java.lang.reflect.Member;
>> import java.lang.reflect.Method;
>> import java.util.logging.Logger;
>> @@ -114,7 +115,6 @@
>> NormalizedMessage inMsg = xchng.createMessage();
>> LOG.info(new
>> org.apache.cxf.common.i18n.Message("EXCHANGE.ENDPOINT", LOG).toString()
>> + xchng.getEndpoint());
>> -
>> if (inMsg != null) {
>> LOG.info("setup message contents on " + inMsg);
>> inMsg.setContent(getMessageContent(message));
>> @@ -127,17 +127,28 @@
>> xchng.setMessage(inMsg, "in");
>> LOG.info("sending message");
>> if (!isOneWay) {
>> -
>> channel.sendSync(xchng);
>> NormalizedMessage outMsg =
>> ((InOut)xchng).getOutMessage();
>> -
>> + Source content = null;
>> + if (outMsg != null) {
>> + content = outMsg.getContent();
>> + } else {
>> + content =
>> ((InOut)xchng).getFault().getContent();
>> + }
>> Message inMessage = new MessageImpl();
>> message.getExchange().setInMessage(inMessage);
>> - Source source = outMsg.getContent();
>> - XMLStreamReader reader =
>> StaxUtils.createXMLStreamReader(source);
>> + InputStream ins =
>> JBIMessageHelper.convertMessageToInputStream(content);
>> + if (ins == null) {
>> + throw new IOException(new
>> org.apache.cxf.common.i18n.Message(
>> + "UNABLE.RETRIEVE.MESSAGE",
>> LOG).toString());
>> + }
>> + inMessage.setContent(InputStream.class, ins);
>>
>> + XMLStreamReader reader =
>> StaxUtils.createXMLStreamReader(content);
>> inMessage.setContent(XMLStreamReader.class,
>> reader);
>> conduit.getMessageObserver().onMessage(inMessage);
>> +
>> +
>>
>> } else {
>> channel.send(xchng);
>>
>> Modified:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIDestination.java
>> Wed Jun 6 20:12:40 2007
>> @@ -30,11 +30,14 @@
>> import javax.xml.namespace.QName;
>> import javax.xml.stream.XMLStreamReader;
>>
>> +
>> import org.apache.cxf.common.logging.LogUtils;
>> import org.apache.cxf.message.Message;
>> import org.apache.cxf.message.MessageImpl;
>> import org.apache.cxf.service.model.EndpointInfo;
>> import org.apache.cxf.staxutils.StaxUtils;
>> +
>> +
>> import org.apache.cxf.transport.AbstractConduit;
>> import org.apache.cxf.transport.AbstractDestination;
>> import org.apache.cxf.transport.Conduit;
>> @@ -47,12 +50,15 @@
>> private static final Logger LOG =
>> LogUtils.getL7dLogger(JBIDestination.class);
>>
>> private final DeliveryChannel channel;
>> + private JBIDispatcher dispatcher;
>> + private volatile boolean running;
>>
>> public JBIDestination(EndpointInfo info,
>> DeliveryChannel dc) {
>> super(getTargetReference(info, null), info);
>> this.channel = dc;
>> }
>> +
>>
>> protected Logger getLogger() {
>> return LOG;
>> @@ -67,6 +73,22 @@
>> inMessage);
>> }
>>
>> + public void shutdown() {
>> + running = false;
>> + }
>> +
>> + public void deactivate() {
>> + running = false;
>> + }
>> +
>> + public void activate() {
>> + getLogger().info(new org.apache.cxf.common.i18n.Message(
>> + "ACTIVE.JBI.SERVER.TRANSPORT", getLogger()).toString());
>> + dispatcher = new JBIDispatcher();
>> + new Thread(dispatcher).start();
>> + }
>> +
>> +
>> // this should deal with the cxf message
>> protected class BackChannelConduit extends AbstractConduit {
>>
>> @@ -108,6 +130,43 @@
>> return LOG;
>> }
>> }
>> +
>> +
>> + private class JBIDispatcher implements Runnable {
>> +
>> + public final void run() {
>> +
>> + try {
>> + running = true;
>> + getLogger().info(new
>> org.apache.cxf.common.i18n.Message(
>> + "RECEIVE.THREAD.START", getLogger()).toString());
>> + do {
>> + MessageExchange exchange = null;
>> + synchronized (channel) {
>> + exchange = channel.accept();
>> + }
>> +
>> + if (exchange != null) {
>> + try {
>> + getLogger().info(new
>> org.apache.cxf.common.i18n.Message(
>> + "DISPATCH.TO.SU",
>> getLogger()).toString());
>> + dispatch(exchange);
>> +
>> + } finally {
>> + //
>> + }
>> + }
>> + } while(running);
>> + } catch (Exception ex) {
>> + getLogger().log(Level.SEVERE, new
>> org.apache.cxf.common.i18n.Message(
>> + "ERROR.DISPATCH.THREAD",
>> getLogger()).toString(), ex);
>> + }
>> + getLogger().fine(new org.apache.cxf.common.i18n.Message(
>> +
>> "JBI.SERVER.TRANSPORT.MESSAGE.PROCESS.THREAD.EXIT",
>> getLogger()).toString());
>> + }
>> + }
>> +
>> +
>>
>> public void dispatch(MessageExchange exchange) throws IOException {
>> QName opName = exchange.getOperation();
>> @@ -118,9 +177,11 @@
>> //get the message to be interceptor
>> MessageImpl inMessage = new MessageImpl();
>> inMessage.put(MessageExchange.class, exchange);
>> + //get the message to be interceptor
>> +
>> XMLStreamReader reader =
>> StaxUtils.createXMLStreamReader(nm.getContent());
>> inMessage.setContent(XMLStreamReader.class, reader);
>> - inMessage.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
>> +
>>
>> //dispatch to correct destination in case of multiple
>> endpoint
>> inMessage.setDestination(this);
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,60 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.cxf.transport.jbi;
>> +
>> +import java.io.ByteArrayInputStream;
>> +import java.io.ByteArrayOutputStream;
>> +import java.io.IOException;
>> +import java.io.InputStream;
>> +import java.util.logging.Logger;
>> +
>> +import javax.xml.transform.Source;
>> +import javax.xml.transform.Transformer;
>> +import javax.xml.transform.TransformerConfigurationException;
>> +import javax.xml.transform.TransformerException;
>> +import javax.xml.transform.TransformerFactory;
>> +import javax.xml.transform.stream.StreamResult;
>> +
>> +import org.apache.cxf.common.i18n.Message;
>> +import org.apache.cxf.common.logging.LogUtils;
>> +
>> +public final class JBIMessageHelper {
>> +
>> + private static final Logger LOG =
>> LogUtils.getL7dLogger(JBIMessageHelper.class);
>> +
>> + private static final TransformerFactory TRANSFORMER_FACTORY =
>> TransformerFactory.newInstance();
>> +
>> + private JBIMessageHelper() {
>> + // complete
>> + }
>> +
>> + public static InputStream convertMessageToInputStream(Source
>> src) throws IOException,
>> + TransformerConfigurationException, TransformerException {
>> +
>> + final Transformer transformer =
>> TRANSFORMER_FACTORY.newTransformer();
>> +
>> + ByteArrayOutputStream baos = new ByteArrayOutputStream();
>> + StreamResult result = new StreamResult(baos);
>> + transformer.transform(src, result);
>> + LOG.info(new Message("RECEIVED.MESSAGE", LOG) + new
>> String(baos.toByteArray()));
>> +
>> + return new ByteArrayInputStream(baos.toByteArray());
>> + }
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBIMessageHelper.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Modified:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
>> Wed Jun 6 20:12:40 2007
>> @@ -51,6 +51,7 @@
>>
>> private static final Logger LOG =
>> LogUtils.getL7dLogger(JBITransportFactory.class);
>>
>> +
>> private static final ThreadLocal<DeliveryChannel>
>> DELIVERY_CHANNEL = new ThreadLocal<DeliveryChannel>();
>> private Bus bus;
>> private final Map<String, JBIDestination> destinationMap = new
>> HashMap<String, JBIDestination>();
>> @@ -95,6 +96,8 @@
>> }
>> }
>> }
>> +
>> +
>>
>>
>> public static DeliveryChannel getDeliveryChannel() {
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,41 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +
>> +package org.apache.cxf.transport.jbi.wsdl11;
>> +
>> +import java.util.Map;
>> +
>> +import javax.wsdl.Port;
>> +import javax.wsdl.WSDLException;
>> +import javax.wsdl.extensions.ExtensibilityElement;
>> +
>> +import org.apache.cxf.tools.common.ToolConstants;
>> +import org.apache.cxf.transports.jbi.AddressType;
>> +import org.apache.cxf.wsdl.AbstractWSDLPlugin;
>> +
>> +public class JBITransportPlugin extends AbstractWSDLPlugin {
>> +
>> + public ExtensibilityElement createExtension(Map<String, Object>
>> args) throws WSDLException {
>> + AddressType jbiAddress = null;
>> + jbiAddress =
>> (AddressType)registry.createExtension(Port.class,
>> ToolConstants.JBI_ADDRESS);
>> + return jbiAddress;
>> + }
>> +
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/wsdl11/JBITransportPlugin.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,24 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<!--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +-->
>> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
>> +<properties>
>> + <!-- JBI Transport -->
>> + <entry
>> key="org.apache.cxf.transport.jbi">javax.wsdl.Port=org.apache.cxf.transports.jbi.AddressType</entry>
>>
>> +</properties>
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/extensions.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:mime-type = text/xml
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,23 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<!--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +-->
>> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
>> +<properties>
>> + <entry
>> key="jbi-javax.wsdl.Port">org.apache.cxf.transport.jbi.wsdl11.JBITransportPlugin</entry>
>>
>> +</properties>
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/wsdl.plugin.xml
>>
>> ------------------------------------------------------------------------------
>>
>> svn:mime-type = text/xml
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/catalog.cat
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,21 @@
>> +--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +--
>> +
>> +
>> +SYSTEM "http://schemas.xmlsoap.org/wsdl/"
>> "../../../../../../common/schemas/src/main/resources/schemas/wsdl/wsdl.xsd"
>>
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xjb
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,34 @@
>> +<?xml version="1.0" encoding="UTF-8" ?>
>> +<!--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +-->
>> +<jaxb:bindings version="1.0"
>> + xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
>> + xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> + xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>> + jaxb:extensionBindingPrefixes="xjc">
>> + <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/"
>> node="/xs:schema">
>> + <jaxb:schemaBindings>
>> + <jaxb:package name="org.apache.cxf.wsdl"/>
>> + </jaxb:schemaBindings>
>> + <jaxb:globalBindings generateIsSetMethod="true"/>
>> + </jaxb:bindings>
>> + <jaxb:bindings schemaLocation="http://schemas.xmlsoap.org/wsdl/"
>> node="/xs:schema/xs:complexType[@name='tExtensibilityElement']">
>> + <jaxb:class
>> implClass="org.apache.cxf.wsdl.TExtensibilityElementImpl"/>
>> + </jaxb:bindings>
>> +</jaxb:bindings>
>>
>> Added:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>> (added)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,45 @@
>> +<?xml version="1.0" encoding="UTF-8" ?>
>> +<!--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +-->
>> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> + xmlns:jbi="http://cxf.apache.org/transports/jbi"
>> + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> + targetNamespace="http://cxf.apache.org/transports/jbi"
>> + elementFormDefault="qualified"
>> + xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0">
>> +
>> + <xs:import namespace="http://schemas.xmlsoap.org/wsdl/"
>> schemaLocation="http://schemas.xmlsoap.org/wsdl/" />
>> +
>> +
>> + <xs:element name="address" type="jbi:AddressType"/>
>> + <xs:complexType name="AddressType">
>> + <xs:complexContent>
>> + <xs:extension base="wsdl:tExtensibilityElement">
>> + <xs:attribute name="location" type="xs:string">
>> + <xs:annotation>
>> + <xs:documentation>
>> + jbi dummy location
>> + </xs:documentation>
>> + </xs:annotation>
>> + </xs:attribute>
>> + </xs:extension>
>> + </xs:complexContent>
>> + </xs:complexType>
>> +
>> +</xs:schema>
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Propchange:
>> incubator/cxf/trunk/rt/transports/jbi/src/main/resources/schemas/wsdl/jbi.xsd
>>
>> ------------------------------------------------------------------------------
>>
>> svn:mime-type = text/xml
>>
>> Modified:
>> incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
>> (original)
>> +++
>> incubator/cxf/trunk/rt/transports/jbi/src/test/java/org/apache/cxf/transport/jbi/JBIConduitTest.java
>> Wed Jun 6 20:12:40 2007
>> @@ -40,6 +40,7 @@
>> import org.apache.cxf.service.model.BindingMessageInfo;
>> import org.apache.cxf.service.model.BindingOperationInfo;
>> import org.easymock.classextension.EasyMock;
>> +import org.junit.Ignore;
>> import org.junit.Test;
>>
>> public class JBIConduitTest extends AbstractJBITest {
>> @@ -61,6 +62,7 @@
>> }
>>
>> @Test
>> + @Ignore
>> public void testSendOut() throws Exception {
>> LOG.info("test send");
>> JBIConduit conduit = setupJBIConduit(true, false);
>>
>> Modified: incubator/cxf/trunk/systests/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> --- incubator/cxf/trunk/systests/pom.xml (original)
>> +++ incubator/cxf/trunk/systests/pom.xml Wed Jun 6 20:12:40 2007
>> @@ -168,6 +168,22 @@
>> </dependency>
>> <dependency>
>> <groupId>org.apache.cxf</groupId>
>> + <artifactId>cxf-rt-bindings-jbi</artifactId>
>> + <version>${project.version}</version>
>> + </dependency>
>> + <dependency>
>> + <groupId>org.apache.cxf</groupId>
>> + <artifactId>cxf-rt-transports-jbi</artifactId>
>> + <version>${project.version}</version>
>> + </dependency>
>> + <dependency>
>> + <groupId>org.apache.cxf</groupId>
>> + <artifactId>cxf-integration-jbi</artifactId>
>> + <version>${project.version}</version>
>> + </dependency>
>> +
>> + <dependency>
>> + <groupId>org.apache.cxf</groupId>
>> <artifactId>cxf-rt-bindings-http</artifactId>
>> <version>${project.version}</version>
>> </dependency>
>> @@ -267,6 +283,12 @@
>> <scope>test</scope>
>> </dependency>
>> <dependency>
>> + <groupId>org.apache.servicemix</groupId>
>> + <artifactId>servicemix-core</artifactId>
>> + <version>${servicemix.version}</version>
>> + </dependency>
>> +
>> + <dependency>
>> <groupId>rhino</groupId>
>> <artifactId>js</artifactId>
>> <version>1.6R5</version>
>> @@ -293,4 +315,4 @@
>> <surefire.fork.mode>pertest</surefire.fork.mode>
>> </properties>
>>
>> -</project>
>> \ No newline at end of file
>> +</project>
>>
>> Added:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>> (added)
>> +++
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,130 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.cxf.systest.jbi;
>> +
>> +
>> +import java.net.URL;
>> +import java.util.logging.Logger;
>> +
>> +import javax.jbi.messaging.DeliveryChannel;
>> +import javax.jbi.messaging.MessagingException;
>> +import javax.xml.namespace.QName;
>> +import javax.xml.ws.Endpoint;
>> +
>> +
>> +import org.apache.cxf.interceptor.LoggingInInterceptor;
>> +import org.apache.cxf.interceptor.LoggingOutInterceptor;
>> +import org.apache.cxf.jaxws.EndpointImpl;
>> +import org.apache.cxf.jbi.se.CXFServiceEngine;
>> +import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
>> +import org.apache.cxf.transport.ConduitInitiatorManager;
>> +import org.apache.cxf.transport.jbi.JBITransportFactory;
>> +import org.apache.hello_world.jbi.Greeter;
>> +import org.apache.hello_world.jbi.GreeterImpl;
>> +import org.apache.hello_world.jbi.HelloWorldService;
>> +import org.apache.hello_world.jbi.PingMeFault;
>> +import org.apache.servicemix.components.util.ComponentSupport;
>> +import org.apache.servicemix.jbi.container.ActivationSpec;
>> +import org.apache.servicemix.jbi.container.JBIContainer;
>> +import org.junit.After;
>> +import org.junit.Before;
>> +import org.junit.BeforeClass;
>> +import org.junit.Test;
>> +
>> +public class ClientServerTest extends AbstractBusClientServerTestBase {
>> +
>> + static final Logger LOG =
>> Logger.getLogger(ClientServerTest.class.getName());
>> + private final QName serviceName = new QName(
>> +
>> "http://apache.org/hello_world/jbi",
>> + "HelloWorldService");
>> + private JBIContainer container;
>> +
>> + @BeforeClass
>> + public static void startServers() throws Exception {
>> + //assertTrue("server did not launch correctly",
>> launchServer(Server.class));
>> + }
>> +
>> + @Before
>> + public void setUp() throws Exception {
>> + container = new JBIContainer();
>> + container.setEmbedded(true);
>> + container.init();
>> + container.start();
>> +
>> + }
>> +
>> + @After
>> + public void tearDown() throws Exception {
>> + container.shutDown();
>> + }
>> +
>> + @Test
>> + public void testJBI() throws Exception {
>> + URL wsdl =
>> getClass().getResource("/wsdl/hello_world_jbi.wsdl");
>> + assertNotNull(wsdl);
>> + //Bus bus = BusFactory.getDefaultBus();
>> + createBus();
>> + assert bus != null;
>> + TestComponent component = new TestComponent(new
>> QName("http://apache.org/hello_world/jbi",
>> +
>> "HelloWorldService"),
>> + "endpoint");
>> +
>> + container.activateComponent(new ActivationSpec("component",
>> component));
>> + /*component.getContext().activateEndpoint(new
>> QName("http://apache.org/hello_world/jbi",
>> + "HelloWorldService"),
>> + "endpoint");*/
>> + DeliveryChannel channel = component.getChannel();
>> + JBITransportFactory jbiTransportFactory =
>> +
>> (JBITransportFactory)bus.getExtension(ConduitInitiatorManager.class).
>> + getConduitInitiator(CXFServiceEngine.JBI_TRANSPORT_ID);
>> + jbiTransportFactory.setBus(bus);
>> +
>> + JBITransportFactory.setDeliveryChannel(channel);
>> + HelloWorldService ss = new HelloWorldService(wsdl,
>> serviceName);
>> +
>> + Greeter port = ss.getSoapPort();
>> + Object implementor = new GreeterImpl();
>> + String address = "http://foo/bar/baz";
>> + EndpointImpl e = (EndpointImpl)Endpoint.publish(address,
>> implementor);
>> + e.getServer().getEndpoint().getInInterceptors().add(new
>> LoggingInInterceptor());
>> + e.getServer().getEndpoint().getOutInterceptors().add(new
>> LoggingOutInterceptor());
>> +
>> + port.greetMeOneWay("test");
>> + String rep = port.greetMe("ffang");
>> + assertEquals(rep, "Hello ffang");
>> + try {
>> + port.pingMe();
>> + fail();
>> + } catch (PingMeFault ex) {
>> + assertEquals(ex.getFaultInfo().getMajor(), (short)2);
>> + assertEquals(ex.getFaultInfo().getMinor(), (short)1);
>> + }
>> + }
>> +
>> + public static class TestComponent extends ComponentSupport {
>> + public TestComponent(QName service, String endpoint) {
>> + super(service, endpoint);
>> + }
>> + public DeliveryChannel getChannel() throws MessagingException {
>> + return getContext().getDeliveryChannel();
>> + }
>> + }
>> +
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/ClientServerTest.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Added:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>> (added)
>> +++
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,53 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.cxf.systest.jbi;
>> +
>> +
>> +import javax.xml.ws.Endpoint;
>> +
>> +import org.apache.cxf.interceptor.LoggingInInterceptor;
>> +import org.apache.cxf.interceptor.LoggingOutInterceptor;
>> +import org.apache.cxf.jaxws.EndpointImpl;
>> +import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
>> +import org.apache.hello_world.jbi.GreeterImpl;
>> +
>> +public class Server extends AbstractBusTestServerBase {
>> +
>> + protected void run() {
>> +
>> + Object implementor = new GreeterImpl();
>> + String address = "http://foo/bar/baz";
>> + EndpointImpl e = (EndpointImpl)Endpoint.publish(address,
>> implementor);
>> + e.getServer().getEndpoint().getInInterceptors().add(new
>> LoggingInInterceptor());
>> + e.getServer().getEndpoint().getOutInterceptors().add(new
>> LoggingOutInterceptor());
>> + }
>> +
>> + public static void main(String args[]) {
>> + try {
>> + Server s = new Server();
>> + s.start();
>> + } catch (Exception ex) {
>> + ex.printStackTrace();
>> + System.exit(-1);
>> + } finally {
>> + System.out.println("done!");
>> + }
>> + }
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jbi/Server.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Modified:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
>> (original)
>> +++
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerHttpBindingTest.java
>> Wed Jun 6 20:12:40 2007
>> @@ -80,7 +80,7 @@
>> Source result = dispatcher.invoke(new StreamSource(is));
>> String tempstring = source2String(result);
>> assertTrue("Result should start with Customer",
>> tempstring.startsWith("<ns4:Customer"));
>> - assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf("CustomerID>123456<") > 0);
>> + assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf(">123456<") > 0);
>> }
>>
>> @Test
>>
>> Modified:
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
>> (original)
>> +++
>> incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/rest/RestClientServerTest.java
>> Wed Jun 6 20:12:40 2007
>> @@ -107,7 +107,7 @@
>> Source result = dispatcher.invoke(new StreamSource(is));
>> String tempstring = source2String(result);
>> assertTrue("Result should start with Customer",
>> tempstring.startsWith("<ns4:Customer"));
>> - assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf("CustomerID>123456<") > 0);
>> + assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf(">123456<") > 0);
>> }
>>
>> @Test
>> @@ -142,7 +142,7 @@
>> assertNotNull("result shoud not be null", result);
>> String tempstring = source2String(result);
>> assertTrue("Result should start with Customer",
>> tempstring.startsWith("<ns4:Customer"));
>> - assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf("CustomerID>123456<") > 0);
>> + assertTrue("Result should have CustomerID",
>> tempstring.lastIndexOf(">123456<") > 0);
>> }
>>
>> private String source2String(Source source) throws Exception {
>>
>> Modified: incubator/cxf/trunk/testutils/pom.xml
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/pom.xml?view=diff&rev=545036&r1=545035&r2=545036
>>
>> ==============================================================================
>>
>> --- incubator/cxf/trunk/testutils/pom.xml (original)
>> +++ incubator/cxf/trunk/testutils/pom.xml Wed Jun 6 20:12:40 2007
>> @@ -339,6 +339,10 @@
>> <wsdlOption>
>>
>> <wsdl>${basedir}/src/main/resources/wsdl/factory_pattern.wsdl</wsdl>
>> </wsdlOption>
>> + <wsdlOption>
>> +
>> <wsdl>${basedir}/src/main/resources/wsdl/hello_world_jbi.wsdl</wsdl>
>> + </wsdlOption>
>> +
>> <!-- will be removed-->
>> <wsdlOption>
>>
>> <wsdl>${basedir}/src/main/resources/wsdl/test_chars.wsdl</wsdl>
>>
>> Added:
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>> (added)
>> +++
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,57 @@
>> +/**
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + */
>> +
>> +package org.apache.hello_world.jbi;
>> +
>> +import javax.jws.WebService;
>> +
>> +import org.apache.hello_world.types.jbi.FaultDetail;
>> +
>> +
>> +@WebService(serviceName = "HelloWorldService",
>> + portName = "SoapPort",
>> + endpointInterface = "org.apache.hello_world.jbi.Greeter",
>> + targetNamespace = "http://apache.org/hello_world/jbi",
>> + wsdlLocation = "testutils/hello_world_jbi.wsdl")
>> +public class GreeterImpl implements Greeter {
>> +
>> + public String sayHi() {
>> + System.out.println("Call sayHi here ");
>> + return "Bonjour";
>> + }
>> +
>> + public String greetMe(String requestType) {
>> + System.out.println("Reached here :" + requestType);
>> + return "Hello " + requestType;
>> + }
>> +
>> + public void greetMeOneWay(String requestType) {
>> + System.out.println("********* greetMeOneWay: " + requestType);
>> + }
>> +
>> + public void pingMe() throws PingMeFault {
>> + System.out.println("Reached pingMe");
>> + FaultDetail faultDetail = new FaultDetail();
>> + faultDetail.setMajor((short)2);
>> + faultDetail.setMinor((short)1);
>> + throw new PingMeFault("PingMeFault raised by server",
>> faultDetail);
>> +
>> + }
>> +
>> +}
>>
>> Propchange:
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/testutils/src/main/java/org/apache/hello_world/jbi/GreeterImpl.java
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Added:
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl?view=auto&rev=545036
>>
>> ==============================================================================
>>
>> ---
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>> (added)
>> +++
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>> Wed Jun 6 20:12:40 2007
>> @@ -0,0 +1,166 @@
>> +<?xml version="1.0" encoding="UTF-8"?>
>> +<!--
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> +-->
>> +<wsdl:definitions name="HelloWorld"
>> targetNamespace="http://apache.org/hello_world/jbi"
>> + xmlns="http://schemas.xmlsoap.org/wsdl/"
>> + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>> + xmlns:tns="http://apache.org/hello_world/jbi"
>> + xmlns:x1="http://apache.org/hello_world/types/jbi"
>> + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>> + xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>> + xmlns:xformat="http://cxf.apache.org/bindings/xformat"
>> + xmlns:jbi="http://cxf.apache.org/transports/jbi"
>> + xmlns:jbiFormat="http://cxf.apache.org/bindings/jbi">
>> +
>> + <wsdl:types>
>> + <schema
>> targetNamespace="http://apache.org/hello_world/types/jbi"
>> + xmlns="http://www.w3.org/2001/XMLSchema"
>> + xmlns:tns="http://apache.org/hello_world/types/jbi"
>> + elementFormDefault="qualified">
>> + <simpleType name="MyStringType">
>> + <restriction base="string">
>> + <maxLength value="30" />
>> + </restriction>
>> + </simpleType>
>> +
>> + <element name="sayHi">
>> + <complexType/>
>> + </element>
>> + <element name="sayHiResponse">
>> + <complexType>
>> + <sequence>
>> + <element name="responseType" type="string"/>
>> + </sequence>
>> + </complexType>
>> + </element>
>> + <element name="greetMe">
>> + <complexType>
>> + <sequence>
>> + <element name="requestType"
>> type="tns:MyStringType"/>
>> + </sequence>
>> + </complexType>
>> + </element>
>> + <element name="greetMeResponse">
>> + <complexType>
>> + <sequence>
>> + <element name="responseType" type="string"/>
>> + </sequence>
>> + </complexType>
>> + </element>
>> + <element name="greetMeOneWay">
>> + <complexType>
>> + <sequence>
>> + <element name="requestType" type="string"/>
>> + </sequence>
>> + </complexType>
>> + </element>
>> + <element name="pingMe">
>> + <complexType/>
>> + </element>
>> + <element name="pingMeResponse">
>> + <complexType/>
>> + </element>
>> + <element name="faultDetail">
>> + <complexType>
>> + <sequence>
>> + <element name="minor" type="short"/>
>> + <element name="major" type="short"/>
>> + </sequence>
>> + </complexType>
>> + </element>
>> + </schema>
>> + </wsdl:types>
>> + <wsdl:message name="sayHiRequest">
>> + <wsdl:part element="x1:sayHi" name="in"/>
>> + </wsdl:message>
>> + <wsdl:message name="sayHiResponse">
>> + <wsdl:part element="x1:sayHiResponse" name="out"/>
>> + </wsdl:message>
>> + <wsdl:message name="greetMeRequest">
>> + <wsdl:part element="x1:greetMe" name="in"/>
>> + </wsdl:message>
>> + <wsdl:message name="greetMeResponse">
>> + <wsdl:part element="x1:greetMeResponse" name="out"/>
>> + </wsdl:message>
>> + <wsdl:message name="greetMeOneWayRequest">
>> + <wsdl:part element="x1:greetMeOneWay" name="in"/>
>> + </wsdl:message>
>> + <wsdl:message name="pingMeRequest">
>> + <wsdl:part name="in" element="x1:pingMe"/>
>> + </wsdl:message>
>> + <wsdl:message name="pingMeResponse">
>> + <wsdl:part name="out" element="x1:pingMeResponse"/>
>> + </wsdl:message>
>> + <wsdl:message name="pingMeFault">
>> + <wsdl:part name="faultDetail" element="x1:faultDetail"/>
>> + </wsdl:message>
>> +
>> + <wsdl:portType name="Greeter">
>> + <wsdl:operation name="sayHi">
>> + <wsdl:input message="tns:sayHiRequest"
>> name="sayHiRequest"/>
>> + <wsdl:output message="tns:sayHiResponse"
>> name="sayHiResponse"/>
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="greetMe">
>> + <wsdl:input message="tns:greetMeRequest"
>> name="greetMeRequest"/>
>> + <wsdl:output message="tns:greetMeResponse"
>> name="greetMeResponse"/>
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="greetMeOneWay">
>> + <wsdl:input message="tns:greetMeOneWayRequest"
>> name="greetMeOneWayRequest"/>
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="pingMe">
>> + <wsdl:input name="pingMeRequest"
>> message="tns:pingMeRequest"/>
>> + <wsdl:output name="pingMeResponse"
>> message="tns:pingMeResponse"/>
>> + <wsdl:fault name="pingMeFault" message="tns:pingMeFault"/>
>> + </wsdl:operation>
>> + </wsdl:portType>
>> + <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
>> + <jbiFormat:binding />
>> +
>> + <wsdl:operation name="sayHi">
>> + <wsdl:input name="sayHiRequest" />
>> + <wsdl:output name="sayHiResponse" />
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="greetMe">
>> + <wsdl:input name="greetMeRequest" />
>> + <wsdl:output name="greetMeResponse" />
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="greetMeOneWay">
>> + <wsdl:input name="greetMeOneWayRequest" />
>> + </wsdl:operation>
>> +
>> + <wsdl:operation name="pingMe">
>> + <wsdl:input />
>> + <wsdl:output />
>> + <wsdl:fault name="pingMeFault" />
>> + </wsdl:operation>
>> +
>> +
>> + </wsdl:binding>
>> + <wsdl:service name="HelloWorldService">
>> + <wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
>> + <jbi:address
>> location="http://localhost:9000/SoapContext/SoapPort"/>
>> + </wsdl:port>
>> + </wsdl:service>
>> +</wsdl:definitions>
>> +
>>
>> Propchange:
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>>
>> ------------------------------------------------------------------------------
>>
>> svn:eol-style = native
>>
>> Propchange:
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>>
>> ------------------------------------------------------------------------------
>>
>> svn:keywords = Rev Date
>>
>> Propchange:
>> incubator/cxf/trunk/testutils/src/main/resources/wsdl/hello_world_jbi.wsdl
>>
>> ------------------------------------------------------------------------------
>>
>> svn:mime-type = text/xml
>>
>>
>>
>
>