You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by di...@apache.org on 2006/12/18 04:21:33 UTC
svn commit: r488107 - in /geronimo/server/trunk/modules:
geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
Author: dims
Date: Sun Dec 17 19:21:32 2006
New Revision: 488107
URL: http://svn.apache.org/viewvc?view=rev&rev=488107
Log:
drilldown into JAXBElement to extract the WebservicesType object, set default transport id (causes NPE if absent)
Modified:
geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
geronimo/server/trunk/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
Modified: geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java?view=diff&rev=488107&r1=488106&r2=488107
==============================================================================
--- geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java Sun Dec 17 19:21:32 2006
@@ -99,7 +99,11 @@
}
Unmarshaller unmarshaller = ctx.createUnmarshaller();
- Object obj = unmarshaller.unmarshal(in);
+ Object obj = unmarshaller.unmarshal(new javax.xml.transform.stream.StreamSource(in), WebservicesType.class);
+
+ if (obj instanceof JAXBElement) {
+ obj = ((JAXBElement)obj).getValue();
+ }
if (!(obj instanceof WebservicesType)) {
return map;
Modified: geronimo/server/trunk/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java?view=diff&rev=488107&r1=488106&r2=488107
==============================================================================
--- geronimo/server/trunk/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java (original)
+++ geronimo/server/trunk/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java Sun Dec 17 19:21:32 2006
@@ -23,6 +23,9 @@
import org.apache.cxf.transport.DestinationFactoryManager;
import org.apache.geronimo.webservices.WebServiceContainer;
+import java.util.List;
+import java.util.ArrayList;
+
//TODO consider putting most of this in the CXFWebServiceContaInerFactoryGBean
public class CXFWebServiceContainer implements WebServiceContainer {
@@ -33,8 +36,13 @@
public CXFWebServiceContainer(PortInfo portInfo, Object target, Bus bus) {
//TODO actually use portInfo
this.bus = bus;
+
+ List ids = new ArrayList();
+ ids.add("http://schemas.xmlsoap.org/wsdl/soap/http");
+
DestinationFactoryManager destinationFactoryManager = bus.getExtension(DestinationFactoryManager.class);
- DestinationFactory factory = new GeronimoDestinationFactory(bus);
+ GeronimoDestinationFactory factory = new GeronimoDestinationFactory(bus);
+ factory.setTransportIds(ids);
destinationFactoryManager.registerDestinationFactory("http://cxf.apache.org/transports/http/configuration", factory);
destinationFactoryManager.registerDestinationFactory("http://www.w3.org/2003/05/soap/bindings/HTTP/", factory);
destinationFactoryManager.registerDestinationFactory("http://schemas.xmlsoap.org/soap/http", factory);