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 2008/05/20 20:41:36 UTC
svn commit: r658386 - in /cxf/trunk/tools/wsdlto:
databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/
frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/
test/src/test/java/org/apache/cxf...
Author: dkulp
Date: Tue May 20 11:41:36 2008
New Revision: 658386
URL: http://svn.apache.org/viewvc?rev=658386&view=rev
Log:
Fix some tooling to map ws-addressing elements to the appropriate EPR if we can.
Modified:
cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/OutOfBandHeaderBug.wsdl
Modified: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?rev=658386&r1=658385&r2=658386&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java (original)
+++ cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java Tue May 20 11:41:36 2008
@@ -93,6 +93,7 @@
private S2JJAXBModel rawJaxbModelGenCode;
private ToolContext context;
private DefaultValueProvider defaultValues;
+ private boolean initialized;
static {
DEFAULT_TYPE_MAP.add("boolean");
@@ -123,10 +124,8 @@
}
- @SuppressWarnings("unchecked")
public void initialize(ToolContext c) throws ToolException {
this.context = c;
-
SchemaCompilerImpl schemaCompiler = (SchemaCompilerImpl)XJC.createSchemaCompiler();
ClassCollector classCollector = context.get(ClassCollector.class);
@@ -138,10 +137,9 @@
schemaCompiler.setErrorListener(listener);
// Collection<SchemaInfo> schemas = serviceInfo.getSchemas();
List<InputSource> jaxbBindings = context.getJaxbBindingFile();
- Map<String, Element> schemaLists = (Map<String, Element>)context.get(ToolConstants.SCHEMA_MAP);
+ Map<String, Element> schemaLists = CastUtils.cast((Map<?, ?>)context.get(ToolConstants.SCHEMA_MAP));
- Set<String> keys = schemaLists.keySet();
- for (String key : keys) {
+ for (String key : schemaLists.keySet()) {
Element ele = schemaLists.get(key);
this.removeImportElement(ele);
String tns = ele.getAttribute("targetNamespace");
@@ -160,8 +158,7 @@
}
- Map<String, String> nsPkgMap = context.getNamespacePackageMap();
- for (String ns : nsPkgMap.keySet()) {
+ for (String ns : context.getNamespacePackageMap().keySet()) {
File file = JAXBUtils.getPackageMappingSchemaBindingFile(ns, context.mapPackageName(ns));
try {
InputSource ins = new InputSource(file.toURI().toString());
@@ -244,6 +241,7 @@
}
}
}
+ initialized = true;
}
private String getPluginUsageString(Options opts) {
@@ -305,7 +303,9 @@
}
public void generate(ToolContext c) throws ToolException {
- initialize(c);
+ if (!initialized) {
+ initialize(c);
+ }
if (rawJaxbModelGenCode == null) {
return;
}
Modified: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml?rev=658386&r1=658385&r2=658386&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml (original)
+++ cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml Tue May 20 11:41:36 2008
@@ -23,6 +23,15 @@
<bindings scd="wsa:EndpointReference">
<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference" />
</bindings>
+ <bindings scd="wsa:ReplyTo">
+ <class ref="javax.xml.ws.wsaddressing.W3CEndpointReference" />
+ </bindings>
+ <bindings scd="wsa:FaultTo">
+ <class ref="javax.xml.ws.wsaddressing.W3CEndpointReference" />
+ </bindings>
+ <bindings scd="wsa:From">
+ <class ref="javax.xml.ws.wsaddressing.W3CEndpointReference" />
+ </bindings>
<bindings scd="~wsa:EndpointReferenceType">
<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference" />
</bindings>
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java?rev=658386&r1=658385&r2=658386&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ProcessorUtil.java Tue May 20 11:41:36 2008
@@ -146,6 +146,22 @@
} else {
name = dataBinding.getType(part.getTypeQName(), false);
}
+ if (name == null) {
+ String namespace = resolvePartNamespace(part);
+ if ("http://www.w3.org/2005/08/addressing".equals(namespace)) {
+ //The ws-addressing stuff isn't mapped in jaxb as jax-ws specifies they
+ //need to be mapped differently
+ String pn = part.getConcreteName().getLocalPart();
+ if ("EndpointReference".equals(pn)
+ || "ReplyTo".equals(pn)
+ || "From".equals(pn)
+ || "FaultTo".equals(pn)) {
+
+ name = "javax.xml.ws.wsaddressing.W3CEndpointReference";
+ }
+ }
+
+ }
return name;
}
Modified: cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java?rev=658386&r1=658385&r2=658386&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java (original)
+++ cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java Tue May 20 11:41:36 2008
@@ -259,8 +259,9 @@
for (Method m : meths) {
if ("login".equals(m.getName())) {
assertEquals(String.class, m.getReturnType());
- assertEquals(2, m.getParameterTypes().length);
+ assertEquals(3, m.getParameterTypes().length);
assertEquals(Holder.class, m.getParameterTypes()[1]);
+ assertEquals(Holder.class, m.getParameterTypes()[2]);
}
}
}
Modified: cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/OutOfBandHeaderBug.wsdl
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/OutOfBandHeaderBug.wsdl?rev=658386&r1=658385&r2=658386&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/OutOfBandHeaderBug.wsdl (original)
+++ cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/OutOfBandHeaderBug.wsdl Tue May 20 11:41:36 2008
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
-<wsdl:definitions targetNamespace="http://cxf.apache.org/bugs/oobh" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://cxf.apache.org/bugs/oobh" xmlns:intf="http://cxf.apache.org/bugs/oobh" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<wsdl:definitions targetNamespace="http://cxf.apache.org/bugs/oobh" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://cxf.apache.org/bugs/oobh" xmlns:intf="http://cxf.apache.org/bugs/oobh" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+xmlns:wsa="http://www.w3.org/2005/08/addressing"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema targetNamespace="http://cxf.apache.org/bugs/oobh" xmlns="http://www.w3.org/2001/XMLSchema">
+ <import namespace="http://www.w3.org/2005/08/addressing"
+ schemaLocation="classpath:/schemas/wsdl/ws-addr.xsd" />
+
<!-- type defined for soap header -->
<complexType name="SessionHeader">
<sequence>
@@ -25,6 +30,9 @@
<wsdl:message name="SessionHeader">
<wsdl:part name="SessionHeader" element="impl:SessionHeader"/>
</wsdl:message>
+ <wsdl:message name="WSAHeader">
+ <wsdl:part name="WSAHeader" element="wsa:ReplyTo"/>
+ </wsdl:message>
<wsdl:message name="LoginRequest">
<wsdl:part name="param" element="impl:Login"/>
</wsdl:message>
@@ -46,6 +54,7 @@
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output>
+ <wsdlsoap:header message="impl:WSAHeader" part="WSAHeader" use="literal"/>
<wsdlsoap:header message="impl:SessionHeader" part="SessionHeader" use="literal"/>
<wsdlsoap:body use="literal"/>
</wsdl:output>