Skip to content

Commit 90c2d9e

Browse files
committed
Added more logging
1 parent bc35a34 commit 90c2d9e

File tree

4 files changed

+66
-5
lines changed

4 files changed

+66
-5
lines changed

core/src/main/java/org/springframework/ws/wsdl/wsdl11/provider/AbstractPortTypesProvider.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
import javax.wsdl.WSDLException;
3333
import javax.xml.namespace.QName;
3434

35+
import org.apache.commons.logging.Log;
36+
import org.apache.commons.logging.LogFactory;
37+
3538
import org.springframework.util.Assert;
3639
import org.springframework.util.StringUtils;
3740

@@ -43,6 +46,9 @@
4346
*/
4447
public abstract class AbstractPortTypesProvider implements PortTypesProvider {
4548

49+
/** Logger available to subclasses. */
50+
protected final Log logger = LogFactory.getLog(getClass());
51+
4652
private String portTypeName;
4753

4854
/** Returns the port type name used for this definition. */
@@ -80,7 +86,11 @@ public void addPortTypes(Definition definition) throws WSDLException {
8086
* @see #setPortTypeName(String)
8187
*/
8288
protected void populatePortType(Definition definition, PortType portType) throws WSDLException {
83-
portType.setQName(new QName(definition.getTargetNamespace(), getPortTypeName()));
89+
QName portTypeName = new QName(definition.getTargetNamespace(), getPortTypeName());
90+
if (logger.isDebugEnabled()) {
91+
logger.debug("Creating port type [" + portTypeName + "]");
92+
}
93+
portType.setQName(portTypeName);
8494
}
8595

8696
private void createOperations(Definition definition, PortType portType) throws WSDLException {
@@ -97,6 +107,9 @@ private void createOperations(Definition definition, PortType portType) throws W
97107
messages.add(message);
98108
}
99109
}
110+
if (operations.isEmpty() && logger.isWarnEnabled()) {
111+
logger.warn("No operations were created, make sure the WSDL contains messages");
112+
}
100113
for (Iterator iterator = operations.keySet().iterator(); iterator.hasNext();) {
101114
String operationName = (String) iterator.next();
102115
Operation operation = definition.createOperation();
@@ -125,6 +138,10 @@ else if (isFaultMessage(message)) {
125138
}
126139
operation.setStyle(getOperationType(operation));
127140
operation.setUndefined(false);
141+
if (logger.isDebugEnabled()) {
142+
logger.debug(
143+
"Adding operation [" + operation.getName() + "] to port type [" + portType.getQName() + "]");
144+
}
128145
portType.addOperation(operation);
129146
}
130147
}

core/src/main/java/org/springframework/ws/wsdl/wsdl11/provider/DefaultConcretePartProvider.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
import javax.wsdl.WSDLException;
3535
import javax.xml.namespace.QName;
3636

37+
import org.apache.commons.logging.Log;
38+
import org.apache.commons.logging.LogFactory;
39+
3740
import org.springframework.util.Assert;
3841
import org.springframework.util.StringUtils;
3942

@@ -48,6 +51,9 @@
4851
*/
4952
public class DefaultConcretePartProvider implements BindingsProvider, ServicesProvider {
5053

54+
/** Logger available to subclasses. */
55+
protected final Log logger = LogFactory.getLog(getClass());
56+
5157
private String bindingSuffix;
5258

5359
private String serviceName;
@@ -101,6 +107,9 @@ public void addBindings(Definition definition) throws WSDLException {
101107
definition.addBinding(binding);
102108
}
103109
}
110+
if (definition.getBindings().isEmpty() && logger.isWarnEnabled()) {
111+
logger.warn("No bindings were created, make sure the WSDL contains port types");
112+
}
104113
}
105114

106115
/**
@@ -116,8 +125,12 @@ public void addBindings(Definition definition) throws WSDLException {
116125
protected void populateBinding(Definition definition, Binding binding) throws WSDLException {
117126
QName portTypeName = binding.getPortType().getQName();
118127
if (portTypeName != null) {
119-
binding.setQName(
120-
new QName(portTypeName.getNamespaceURI(), portTypeName.getLocalPart() + getBindingSuffix()));
128+
QName bindingName =
129+
new QName(portTypeName.getNamespaceURI(), portTypeName.getLocalPart() + getBindingSuffix());
130+
if (logger.isDebugEnabled()) {
131+
logger.debug("Creating binding [" + bindingName + "]");
132+
}
133+
binding.setQName(bindingName);
121134
}
122135
}
123136

@@ -263,6 +276,9 @@ public void addServices(Definition definition) throws WSDLException {
263276
protected void populateService(Definition definition, Service service) throws WSDLException {
264277
if (StringUtils.hasText(definition.getTargetNamespace()) && StringUtils.hasText(getServiceName())) {
265278
QName serviceName = new QName(definition.getTargetNamespace(), getServiceName());
279+
if (logger.isDebugEnabled()) {
280+
logger.debug("Creating service [" + serviceName + "]");
281+
}
266282
service.setQName(serviceName);
267283
}
268284
}
@@ -283,9 +299,15 @@ private void createPorts(Definition definition, Service service) throws WSDLExce
283299
}
284300
populatePort(definition, port);
285301
if (StringUtils.hasText(port.getName())) {
302+
if (logger.isDebugEnabled()) {
303+
logger.debug("Adding port [" + port.getName() + "] to service [" + service.getQName() + "]");
304+
}
286305
service.addPort(port);
287306
}
288307
}
308+
if (service.getPorts().isEmpty() && logger.isWarnEnabled()) {
309+
logger.warn("No ports were created, make sure the WSDL contains bindings");
310+
}
289311
}
290312

291313
/**
@@ -299,7 +321,8 @@ private void createPorts(Definition definition, Service service) throws WSDLExce
299321
* @throws WSDLException in case of errors
300322
*/
301323
protected void populatePort(Definition definition, Port port) throws WSDLException {
302-
port.setName(port.getBinding().getQName().getLocalPart());
324+
String portName = port.getBinding().getQName().getLocalPart();
325+
port.setName(portName);
303326
}
304327

305328
}

core/src/main/java/org/springframework/ws/wsdl/wsdl11/provider/DefaultMessagesProvider.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import javax.wsdl.extensions.schema.Schema;
2727
import javax.xml.namespace.QName;
2828

29+
import org.apache.commons.logging.Log;
30+
import org.apache.commons.logging.LogFactory;
2931
import org.w3c.dom.Element;
3032
import org.w3c.dom.Node;
3133
import org.w3c.dom.NodeList;
@@ -42,6 +44,8 @@
4244
*/
4345
public class DefaultMessagesProvider implements MessagesProvider {
4446

47+
private static final Log logger = LogFactory.getLog(DefaultMessagesProvider.class);
48+
4549
public void addMessages(Definition definition) throws WSDLException {
4650
Types types = definition.getTypes();
4751
Assert.notNull(types, "No types element present in definition");
@@ -54,11 +58,17 @@ public void addMessages(Definition definition) throws WSDLException {
5458
}
5559
}
5660
}
61+
if (definition.getMessages().isEmpty() && logger.isWarnEnabled()) {
62+
logger.warn("No messages were created, make sure the referenced schema(s) contain elements");
63+
}
5764
}
5865

5966
private void createMessages(Definition definition, Element schemaElement) throws WSDLException {
6067
String schemaTargetNamespace = schemaElement.getAttribute("targetNamespace");
6168
Assert.hasText("No targetNamespace defined on schema");
69+
if (logger.isDebugEnabled()) {
70+
logger.debug("Looking for elements in schema with target namespace [" + schemaTargetNamespace + "]");
71+
}
6272
NodeList children = schemaElement.getChildNodes();
6373
for (int i = 0; i < children.getLength(); i++) {
6474
Node child = children.item(i);
@@ -103,7 +113,11 @@ protected boolean isMessageElement(Element element) {
103113
* @throws WSDLException in case of errors
104114
*/
105115
protected void populateMessage(Definition definition, Message message, QName elementName) throws WSDLException {
106-
message.setQName(new QName(definition.getTargetNamespace(), elementName.getLocalPart()));
116+
QName messageName = new QName(definition.getTargetNamespace(), elementName.getLocalPart());
117+
if (logger.isDebugEnabled()) {
118+
logger.debug("Creating message [" + messageName + "]");
119+
}
120+
message.setQName(messageName);
107121
}
108122

109123
/**

core/src/main/java/org/springframework/ws/wsdl/wsdl11/provider/InliningXsdSchemaTypesProvider.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import javax.xml.transform.TransformerException;
2525
import javax.xml.transform.dom.DOMResult;
2626

27+
import org.apache.commons.logging.Log;
28+
import org.apache.commons.logging.LogFactory;
2729
import org.w3c.dom.Document;
2830
import org.w3c.dom.Element;
2931

@@ -42,6 +44,8 @@
4244
*/
4345
public class InliningXsdSchemaTypesProvider extends TransformerObjectSupport implements TypesProvider {
4446

47+
private static final Log logger = LogFactory.getLog(InliningXsdSchemaTypesProvider.class);
48+
4549
/** The prefix used to register the schema namespace in the WSDL. */
4650
public static final String SCHEMA_PREFIX = "sch";
4751

@@ -78,6 +82,9 @@ public void addTypes(Definition definition) throws WSDLException {
7882
Types types = definition.createTypes();
7983
XsdSchema[] schemas = schemaCollection.getXsdSchemas();
8084
for (int i = 0; i < schemas.length; i++) {
85+
if (logger.isDebugEnabled()) {
86+
logger.debug("Inling " + schemas[i]);
87+
}
8188
if (schemas.length == 1) {
8289
definition.addNamespace(SCHEMA_PREFIX, schemas[i].getTargetNamespace());
8390
}

0 commit comments

Comments
 (0)