You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/05/16 09:23:50 UTC
svn commit: r775423 - in /cxf/trunk:
rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java
Author: dkulp
Date: Sat May 16 07:23:50 2009
New Revision: 775423
URL: http://svn.apache.org/viewvc?rev=775423&view=rev
Log:
[CXF-2221] Fix for code generation of out of band headers set in
multiple bindings causing them to always be OUT only
Modified:
cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java
Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?rev=775423&r1=775422&r2=775423&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Sat May 16 07:23:50 2009
@@ -516,7 +516,12 @@
|| part.getName().equals(partNameFilter)) {
QName pqname = new QName(minfo.getName().getNamespaceURI(), part.getName());
- MessagePartInfo pi = minfo.addOutOfBandMessagePart(pqname);
+ MessagePartInfo pi = minfo.getMessagePart(pqname);
+ if (pi != null
+ && pi.getMessageInfo().getName().equals(msg.getQName())) {
+ continue;
+ }
+ pi = minfo.addOutOfBandMessagePart(pqname);
if (!minfo.getName().equals(msg.getQName())) {
pi.setMessageContainer(new MessageInfo(minfo.getOperation(), null, msg.getQName()));
Modified: cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java?rev=775423&r1=775422&r2=775423&view=diff
==============================================================================
--- cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java (original)
+++ cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/model/JavaMethod.java Sat May 16 07:23:50 2009
@@ -32,6 +32,7 @@
import org.apache.cxf.common.i18n.Message;
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.tools.common.ToolException;
+import org.apache.cxf.tools.common.model.JavaType.Style;
public class JavaMethod implements JavaAnnotatable {
private static final Logger LOG = LogUtils.getL7dLogger(JavaMethod.class);
@@ -150,6 +151,9 @@
int index = ((ArrayList)parameters).indexOf(p1);
parameters.remove(index);
parameters.add(index, p2);
+ if ((p1.isIN() && p2.isOUT()) || p1.isINOUT()) {
+ p2.setStyle(Style.INOUT);
+ }
}
private boolean isEquiv(String c1, String c2) {