You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2008/12/13 06:26:38 UTC
svn commit: r726171 -
/geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java
Author: gawor
Date: Fri Dec 12 21:26:38 2008
New Revision: 726171
URL: http://svn.apache.org/viewvc?rev=726171&view=rev
Log:
make Geronimo service-ref extensions work with service-refs without wsdl
Modified:
geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java
Modified: geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java?rev=726171&r1=726170&r2=726171&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java (original)
+++ geronimo/server/branches/2.1/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/EndpointInfoBuilder.java Fri Dec 12 21:26:38 2008
@@ -105,6 +105,18 @@
// Generic Service class specified.
// Service API requires a service qname so create a dummy one
this.serviceQName = new QName("http://noservice", "noservice");
+
+ if (serviceRefType != null) {
+ for (GerPortType gerPort : serviceRefType.getPortArray()) {
+ String portName = gerPort.getPortName().trim();
+ URL location = getLocation(gerPort);
+ String credentialsName = getCredentialsName(gerPort);
+ boolean mtomEnabled = isMTOMEnabled(portName);
+ EndpointInfo info = new EndpointInfo(location, credentialsName, mtomEnabled);
+ this.portInfoMap.put(portName, info);
+ }
+ }
+
return;
} else {
// Generated Service class specified.
@@ -349,6 +361,31 @@
return null;
}
+ private boolean isMTOMEnabled(String portName) {
+ boolean mtomEnabled = false;
+ PortComponentRefType portRef = getPortComponentRef(portName);
+ if (portRef != null && portRef.isSetEnableMtom()) {
+ mtomEnabled = portRef.getEnableMtom().getBooleanValue();
+ }
+ return mtomEnabled;
+ }
+
+ private PortComponentRefType getPortComponentRef(String portName) {
+ if (this.portComponentRefMap == null) {
+ return null;
+ }
+ for (Class sei : this.portComponentRefMap.keySet()) {
+ QName seiPortType = JAXWSUtils.getPortType(sei);
+ if (seiPortType == null) {
+ continue;
+ }
+ if (portName.equals(seiPortType.getLocalPart())) {
+ return this.portComponentRefMap.get(sei);
+ }
+ }
+ return null;
+ }
+
private class JarWSDLLocator implements WSDLLocator {
private final List<InputStream> streams = new ArrayList<InputStream>();