The patch was good (except for a few tabs that slipped in) so I have checked it in. Thanks !
On 6/25/07, Freeman Fang <[EMAIL PROTECTED]> wrote:
Ok, it's done. Cheers Freeman Guillaume Nodet wrote: > Could you please attach your patch to a JIRA issue ? > You can reuse the existing one: > http://issues.apache.org/activemq/browse/SM-939 > Thanks ! > > On 6/25/07, Freeman Fang <[EMAIL PROTECTED]> wrote: >> >> Hi All, >> >> I'd like to provide my first patch as the start. >> >> This patch is based on Nodet's cxf bc module, and fix compile and test >> failure which is caused by cxf api changed. >> >> Please review and apply this patch for me. >> >> Tons of thanks >> >> Freeman >> >> Freeman Fang wrote: >> > Hi all, >> > >> > I am from apache cxf team. >> > >> > I am going to add cxf binding component into servicemix which can >> > support ws-*. >> > >> > In next several weeks there would be questions and patches. >> > >> > Thanks in advance for answering my questions and reviewing and >> > applying the patches. >> > >> > Thanks again >> > >> > Freeman >> > >> >> >> Index: >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOperationInterceptor.java >> >> =================================================================== >> --- >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOperationInterceptor.java >> >> (revision 550382) >> +++ >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOperationInterceptor.java >> >> (working copy) >> @@ -37,8 +37,7 @@ >> public class JbiOperationInterceptor extends >> AbstractPhaseInterceptor<Message> { >> >> public JbiOperationInterceptor() { >> - super(); >> - setPhase(Phase.UNMARSHAL); >> + super(Phase.UNMARSHAL); >> addAfter(URIMappingInterceptor.class.getName()); >> } >> >> Index: >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java >> >> =================================================================== >> --- >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java >> >> (revision 550382) >> +++ >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInWsdl1Interceptor.java >> >> (working copy) >> @@ -37,6 +37,7 @@ >> import org.apache.cxf.binding.soap.model.SoapBindingInfo; >> import org.apache.cxf.binding.soap.model.SoapHeaderInfo; >> import org.apache.cxf.endpoint.Endpoint; >> +import org.apache.cxf.headers.Header; >> import org.apache.cxf.interceptor.Fault; >> import org.apache.cxf.message.Exchange; >> import org.apache.cxf.message.Message; >> @@ -56,7 +57,7 @@ >> public class JbiInWsdl1Interceptor extends AbstractSoapInterceptor { >> >> public JbiInWsdl1Interceptor() { >> - setPhase(Phase.UNMARSHAL); >> + super(Phase.UNMARSHAL); >> addAfter(JbiOperationInterceptor.class.getName()); >> } >> >> @@ -104,7 +105,7 @@ >> } >> Element body = getBodyElement(message); >> List<SoapHeaderInfo> headers = wsdlMessage.getExtensors( >> SoapHeaderInfo.class); >> - Element headerElement = message.getHeaders(Element.class); >> + List<Header> headerElement = message.getHeaders(); >> List<Object> parts = new ArrayList<Object>(); >> for (MessagePartInfo part : wsdlMessage.getMessageParts()) { >> if ("document".equals(style)) { >> @@ -129,10 +130,10 @@ >> if (headers != null) { >> for (SoapHeaderInfo header : headers) { >> MessagePartInfo part = header.getPart(); >> - Element param = findHeader(headerElement, part); >> + Header param = findHeader(headerElement, part); >> int idx = part.getIndex(); >> QName element = part.getElementQName(); >> - Element hdr = getHeaderElement(message, element); >> + Header hdr = getHeaderElement(message, element); >> if (hdr == null) { >> throw new Fault(new Exception("Missing required >> header element: " >> + QNameUtil.toString(element))); >> @@ -190,7 +191,7 @@ >> } >> } >> >> - protected Element getHeaderElement(SoapMessage message, QName >> name) { >> + protected Header getHeaderElement(SoapMessage message, QName >> name) { >> Exchange exchange = message.getExchange(); >> BindingOperationInfo bop = exchange.get( >> BindingOperationInfo.class); >> if (bop.isUnwrapped()) { >> @@ -206,11 +207,11 @@ >> if (headers == null || headers.size() == 0) { >> return null; >> } >> - Element headerElement = message.getHeaders(Element.class); >> + List<Header> headerElement = message.getHeaders(); >> for (SoapHeaderInfo header : headers) { >> if (header.getPart().getElementQName().equals(name)) { >> MessagePartInfo mpi = header.getPart(); >> - Element param = findHeader(headerElement, mpi); >> + Header param = findHeader(headerElement, mpi); >> return param; >> } >> } >> @@ -236,18 +237,16 @@ >> } >> } >> >> - private static Element findHeader(Element headerElement, >> MessagePartInfo mpi) { >> - NodeList nodeList = headerElement.getChildNodes(); >> - Element param = null; >> - if (nodeList != null) { >> + private static Header findHeader(List<Header> headerElement, >> MessagePartInfo mpi) { >> + Header param = null; >> + if (headerElement != null) { >> QName name = mpi.getConcreteName(); >> - for (int i = 0; i < nodeList.getLength(); i++) { >> - Node n = nodeList.item(i); >> - if (n.getNamespaceURI() != null >> - && n.getNamespaceURI().equals( >> name.getNamespaceURI()) >> - && n.getLocalName() != null >> - && >> n.getLocalName().equals(name.getLocalPart())) >> { >> - param = (Element) n; >> + for (Header header : headerElement) { >> + if (header.getName().getNamespaceURI() != null >> + && header.getName().getNamespaceURI().equals( >> name.getNamespaceURI()) >> + && header.getName().getLocalPart() != null >> + && header.getName().getLocalPart().equals( >> name.getLocalPart())) { >> + param = header; >> } >> } >> } >> Index: >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java >> >> =================================================================== >> --- >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java >> (revision >> 550382) >> +++ >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java >> (working >> copy) >> @@ -51,7 +51,7 @@ >> public class JbiOutWsdl1Interceptor extends AbstractSoapInterceptor { >> >> public JbiOutWsdl1Interceptor() { >> - setPhase(Phase.MARSHAL); >> + super(Phase.MARSHAL); >> } >> >> public void handleMessage(SoapMessage message) { >> @@ -89,7 +89,7 @@ >> List<SoapHeaderInfo> headers = msg.getExtensors( >> SoapHeaderInfo.class); >> for (SoapHeaderInfo header : headers) { >> NodeList nl = partsContent.get(header.getPart >> ().getIndex()); >> - Element headerElement = >> message.getHeaders(Element.class >> ); >> + Element headerElement = message.get(Element.class); >> for (int i = 0; i < nl.getLength(); i++) { >> headerElement.appendChild(nl.item(i)); >> } >> Index: >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInInterceptor.java >> >> =================================================================== >> --- >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInInterceptor.java >> (revision >> 550382) >> +++ >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiInInterceptor.java >> (working >> copy) >> @@ -45,7 +45,7 @@ >> public static final String OPERATION_MEP = "MEP"; >> >> public JbiInInterceptor() { >> - setPhase(Phase.PRE_INVOKE); >> + super(Phase.PRE_INVOKE); >> } >> >> public void handleMessage(Message message) { >> Index: >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java >> >> =================================================================== >> --- >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java >> (revision >> 550382) >> +++ >> deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java >> (working >> copy) >> @@ -175,7 +175,7 @@ >> protected class JbiInvokerInterceptor extends >> AbstractPhaseInterceptor<Message> { >> >> public JbiInvokerInterceptor() { >> - setPhase(Phase.INVOKE); >> + super(Phase.INVOKE); >> } >> >> public void handleMessage(final Message message) throws Fault { >> @@ -200,7 +200,7 @@ >> >> protected static class JbiPostInvokerInterceptor extends >> AbstractPhaseInterceptor<Message> { >> public JbiPostInvokerInterceptor() { >> - setPhase(Phase.POST_INVOKE); >> + super(Phase.POST_INVOKE); >> addBefore(OutgoingChainInterceptor.class.getName()); >> } >> >> Index: deployables/bindingcomponents/servicemix-cxf-bc/pom.xml >> =================================================================== >> --- deployables/bindingcomponents/servicemix-cxf-bc/pom.xml >> (revision >> 550382) >> +++ deployables/bindingcomponents/servicemix-cxf-bc/pom.xml (working >> copy) >> @@ -30,8 +30,8 @@ >> <groupId>org.apache.servicemix</groupId> >> <artifactId>servicemix-cxf-bc</artifactId> >> <packaging>jbi-component</packaging> >> - <name>ServiceMix :: File</name> >> - <description>A File component</description> >> + <name>ServiceMix :: CXF</name> >> + <description>A CXF component</description> >> >> <dependencies> >> <dependency> >> @@ -40,6 +40,11 @@ >> <version>${servicemix-version}</version> >> </dependency> >> <dependency> >> + <groupId>org.apache.servicemix</groupId> >> + <artifactId>servicemix-services</artifactId> >> + <version>${servicemix-version}</version> >> + </dependency> >> + <dependency> >> <groupId>org.apache.cxf</groupId> >> <artifactId>cxf-rt-frontend-jaxws</artifactId> >> <version>${cxf-version}</version> >> >> > >
-- Cheers, Guillaume Nodet ------------------------ Principal Engineer, IONA Blog: http://gnodet.blogspot.com/
